链接动态库

.lib 资源模式文件 描述.dll文件
.dll 动态库(函数二进制码集合,里面有函数的函数体),动态库室友规范的;

如何链接动态库?
将.lib和.dll文件拷贝到对应文件下
链接动态库_第1张图片
把.lib文件加入到下面的对话框中(可以理解为让编译器通过.lib文件去寻找.dll文件)
链接动态库_第2张图片
动态库测试环境和调试环境搭建
在DLL代码中,必须向下面这样明确声明导出函数:
__declspec(dllexport) int Myfunvtion(int n);
但也可以在模块定义(DEF)文件中列出导出函数,不过这样做常常引起更多的麻烦。在应用程序方面,要求向相面这样明确声明相应的输入函数:
__declspec(dllimport) int Myfunction(int n);
仅有导入和导出声明并不能使用应用程序内部的函数调用连接到相应的DLL文件上。应用程序的项目必须为链接程序制定所需要的输入库(lib文件)。而且应用程序事实上必须至少包含一个对DLL函数的调用。
dll项目中函数实现:
链接动态库_第3张图片
注意:dll项目不能直接运行,会报如下错误。
链接动态库_第4张图片
将dll项目生成的.lib和.dll文件拷贝到对应文件下,按上面的方式进行链接,同时打开主项目和dll项目就可以开始调试,如下图:
运行到ret = cltSocketInit(&handle);
链接动态库_第5张图片
点击f11,就会跳到dll项目中,调试dll项目
链接动态库_第6张图片

你可能感兴趣的:(C语言学习笔记)