Win32 C++编程中DLL的使用

多个程序部分的合并方式

最佳使用的项目里面需要封装DLL给其他人调用这里研究了一下 win系统的DLL链接方式 win系统下多个程序之间的链接方式 有2种 静态链接 动态链接

静态链接

其中静态链接是使用staticlib方式链接多个程序,所有的C文件编译成二进制代码和索引表,导出不进行链接。等待整个项目编译完成时链接,这样整个项目只会输出一个文件。 这种封装模式类似只是将所有C文件编译了 并没有链接。 编译输出结果为 xxx.lib (.o文件的集合)

动态链接

动态链接即将程序封装链接完成只保留对应的几个接口外露。 此时实际模块内部程序已经链接完成。是不需要在进行链接的。 这种方式会生成 xxx.DLL 和xxx.lib 两个文件 其中DLL 类似应用程序是一个完整的程序文件,可以被调用运行。 lib包含了 DLL导出的符号信息,DLL可以提供的函数接口等。

动态链接隐式调用

隐式调用是调用DLL 比较简单的方式 参考VS2015的项目新建后导入 对应dll的头文件 加入dll的lib文件即可完成DLL的导入 此时编译DLL即可完成

动态链接显式调用

与隐式调用不同 显式调用 使用代码中的命令主动的加载dll 这样会有2个好处 DLL是主动的被加载的 也就是在程序执行过程中DLL可以被动态的替换 隐式调用为编译时导入 启动后dll就被加载了 没有可控的部分 目前我的项目只用了隐式调用 这种方式实现比较容易

查看原文:http://www.chenty.com/2018/02/05/win32-c%e7%bc%96%e7%a8%8b%e4%b8%addll%e7%9a%84%e4%bd%bf%e7%94%a8/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值