本人VS2015+WIN10测试环境 ,接下来介绍如何.c文件生成动态链接库以及调用
生成动态链接库
1.创建工程,选择WIN32控制台应用程序
2.点击下一步
3.选择DLL 空项目 完成
4.创建dm01.c 和dm01.h文件
5.在.c和.h添加如下内容 ,函数功能:返回两数相加之和
6. 在.c文件下的函数前添加 __declspec(dllexport) ps: 如果有多个函数 ,则需要再需要导出的函数前都加上这句话
7.发现编译报错 ,原因:加了 __declspec(dllexport)后编译器认为.c与.h里是两个不同函数
8. 解决办法:.h文件的函数声明也加上 __declspec(dllexport) ,再次编译后成功
9.右键解决方案,选择 在文件资源管理器中打开文件夹
10.进入debug文件夹 即可看到生成的dll与lib文件 (dll动态库文件 lib动态库的描述文件)
在此动态链接库生成完毕,接下来介绍如何调用
调用动态链接库
11.关闭刚刚的工程,重新打开vs,新建一个工程,选择win32控制台应用程序,点击确定
12. 点击下一步
13.选择控制台应用程序,在空项目前面打勾 ,点击完成
14.新建testdll.c文件,点击添加
15.右键项目工程 ,选择在文件资源管理器中打开文件夹
16.将刚刚生成的dll lib拷贝到该目录下(.c文件同级目录)
17.输入如下代码测试, 发现报错, 原因:VS2015编译器不知道去什么地方找动态库
18.右键工程,选择属性,链接器->输入->附加依赖性,把生成的lib名字粘贴,选择确定。
19.再次编译,成功运行