DLL的生成与在Qt中使用

参考此文章:https://blog.csdn.net/elaine_bao/article/details/51784864

1、什么是静态库(.lib)

静态库通常是.lib文件,在编译时从静态库中取出函数和数据,编译到exe文件中,发布软件时不需要这个.lib文件,因为需要的代码已经复制到exe文件当中。

2、什么是动态库(.dll)

动态库通常是.dll文件,在编译时不会将动态库中的文件和数据编译到exe文件中,而是在运行时从dll加载到内存中。如果dll需要修改只要重新发布dll并替换即可,不需要重新编译exe文件。

注意动态库经常也附带一个引入库文件(.lib),但是此lib不同于静态库。引入库仅包含函数和变量的符号名(类似头文件?),而在dll中才有实际的函数及数据。

3、调用dll中的函数必须是已经导出的函数

即类似于public函数才可以被外部调用。

4、隐式加载(.h中)

#pragma comment(lib,"Dll1.lib")

然后在.cpp中:

_declspec(dllimport) int add(int a, int b);
_declspec(dllimport) int subtract(int a, int b);

然后就可以调用add和substract函数了。

5、显式加载

只要在需要的地方使用:

hInst = LoadLibrary(L"Dll1.dll");

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值