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”

posted @ 2019-01-05 14:38  余生以学  阅读(244)  评论(0编辑  收藏  举报