DLL动态链接库的创建
dll的创建主要有两种方法:一是使用 __declspec(dllexport) 创建dll,二是使用模块定义(.def)文件创建dll。
使用 __declspec(dllexport) 创建dll
1 __declspec(dllexport) int add(int a, int b){ 2 return a + b; 3 } 4 5 __declspec(dllexport) int subtract(int a, int b){ 6 return a - b; 7 }
使用模块定义(.def)文件创建dll
使用def文件创建dll的话就不再需要__declspec(dllexport),因此将代码写成最原始的样子:
1 int add(int a, int b){ 2 return a + b; 3 } 4 5 int subtract(int a, int b){ 6 return a - b; 7 }
同时为工程创建一个后缀名为.def的文件,并添加进工程,编辑其内容为:
LIBRARY Dll1
EXPORTS
add
subtract
其中LIBRARY语句用于指定动态链接库的名称,该名称与生成的动态链接库名称一定要匹配。EXPORTS语句用于表明dll将要导出的函数,以及为这些导出函数指定的符号名。
将该模块定义文件链接到工程中,方法为工程属性页面>链接器>输入>模块定义文件中写入“Dll1.def”