栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

动态库(二)动态库调用:隐式链接和显式链接

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

动态库(二)动态库调用:隐式链接和显式链接

承接上篇

创建一个不含MFC的动态库 http://t.csdn.cn/T6I3C

知识点

其他程序调用动态库的方法有两种:隐式链接和显式链接。使用方法:通过LIB当中提供的信息加载DLL。
隐式链接:由编译器完成对DLL的加载和卸载工作。(多个程序使用时,采取计数方式判断是否卸载)。隐式链接将DLL加载到exe同目录,直到所用的调用结束才会释放,一旦DLL不再此目录或改名等,就会 报错。

显式链接:由API自行决定什么时候加/卸载以及加/卸载哪个DLL

实现步骤

右键点击解决方案->添加项目->控制台项目,得到一个测试用的产生exe的项目,得到一个cpp文件(dllprojecttest.cpp)。

隐式链接

隐式链接也有两种方法:一种是通过代码,一种是通过属性设置

属性设置方法:

在dllprojecttest.cpp文件中加上dllm实现函数的程序的头文件,然后调用函数,如下图,会发现头文件无法识别,

这时候进行属性设置:
1.加入库中主程序。属性-> C/C++ ->附加包含目录:将程序的目录加入
2.加入LIB文件。属性-> 链接器 ->常规->附加库目录:将LIB文件的目录加入。然后属性-> 链接器 ->输入->附加依赖项:将LIB文件名加入

弄好之后就会发现不报错了,右键点击这个调用项目名->设置为启动项,然后运行,就可以得到结果啦

代码方式:

自行在测试项目中建立一个.hwenjian和一个.cpp文件,在.h文件中代码如下图:

然后.cpp文件就可以调用dll中的函数了。(我写的是一个实现加法的函数,所以就让两个数调用它相加了)

显式链接****

右键点击解决方案->添加项目->控制台项目,得到一个测试用的产生exe的项目,得到一个cpp文件(dllprojecttest2.cpp)

点击cpp文件,进行如下内容,右键点击这个调用项目名->设置为启动项,然后运行,就可以得到结果啦。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/980343.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号