href="file:///E:/temp/msohtml1/01/clip_filelist.xml" rel="File-List" />
1. 新建一个dll工程,添加cpp源文件,在源文件里编写代码,build后会在debug目录里生成Dll1.dll文件。应用程序如果想访问某个dll中的函数,那么该函数必须是已经被导出的函数,为了让dll导出一些函数,需要在每一个将要被导出的函数前面添加标识符:_declspec(dllexport)。
2. 添加导出标识符后,debug目录下会生成lib 和exp文件
3. 用Dumpbin可以查看dll中有哪些导出函数
4. 为了使应用程序能使用dll中的代码,需要把 .lib 复制到程序所在目录下,再把dll文件也复制到工程目录下,link选项中加入.lib文件,在使用dll中代码前应该有extern声明,或者有_declspec(dllimport) 声明
5. 实际上在一个动态链接库中还可以导出类,如果在声明类时指出导出标志,那么该类中的所有函数都将被导出,否则只有那些指定了导出标志的类成员函数才被导出。
注意:dll文件中声明的是_declspec(dllexport)即导出,客户程序声明的是_declspec(dllimport)导入。
6. 模块定义文件
LIBRARY Dll2 指定动态链接库内部名,与生成的动态链接库名一致
EXPORTS 指明dll将要导出的函数
add
sub