几个月前还对DLL十分熟悉,短短几个月时间基本上就忘光了,甚至连dll导入导出步奏都不知道,看来的确得多写博客啊!
现在对dll以问答形式做一个简单的回顾。
问题1:vs2012环境,dll连接时报错
error LNK1201: error writing to program database 'D:\project\dll\OpenNat_DLL\Debug\OpenNat_DLL.pdb'; check for insufficient disk space, invalid path, or insufficient privilegeD:\project\dll\OpenNat_DLL\OpenNat_DLL\LINK
百度后知道.pdb 文件是用来存放调试信息的,找不到该文件则应该跟工程的Debug info 设置有关。
分析之后,发现原来是自己把整个工程所在的目录作了移动,放到了另一个文件夹下面。
解决方法,移回原来的目录即可。(所以,大家千万不要有事没事就移动工程)还有另一个解决方案是设置属性,C/C++属性页,Category:选择General,在Debug Info:选项的下拉列表中选择Program Database 或 Line Numbers Only。
用类将函数和数据封装到Dll操作便捷,使用简单
问题2,:dll导入导出类基本步奏
- Dll工程编译完成后,将.lib和.dll文件拷贝到测试和使用dll的工程的适当目录下(一般是debug或release目录&#