dll动态链接库与lib静态链接库的生成与使用

根据套路,首先解释一下lib与dll的区别:

lib:一般指静态链接库,将所有编译之后的obj或o打包生成,里面包含代码实现,比较大。在使用时,新的项目将该lib中的代码打包进自己的工程,因此生成的可执行文件会比较大。使用的时候只要有.lib和.h就好。新的工程发布时,不需要lib一同发布。

dll:动态链接库,在使用的时候需要三个东西:.dll、.lib、.h     注意这里的lib和上面的不是一回事,这里的lib文件非常小,又叫引入库。动态链接库的代码实现在dll中,lib中放的是dll中各种方法的索引之类的。发布新项目时,需要将dll文件一起发布,程序执行时自行去dll中查找实现方式。可以实现一套dll,多个程序使用。也方便升级。

生成:

静态库的生成非常简单,VS中选中项目->右键属性->配置属性->常规->配置类型选择为“静态库(lib)”,之后生成解决方案即可

动态库的生成稍显复杂,需要在.h文件中的函数声明前加上  __declspec(dllexport)  然后  VS中选中项目->右键属性->配置属性->常规->配置类型选择为“动态库(dll)”,之后生成解决方案即可。

注意  __declspec(dllexport)  一定要加,否则生成的dll是不带lib引入库的,无法使用                                                                            而且每个函数都要加,否则在使用时会找不到

使用:

静态链接库只要.lib和.h即可,将.h文件引入工程中,之后VS中选中项目->右键属性->配置属性->VC++目录,将.h文件目录和.lib文件目录分别添加到包含目录库目录中,之后点击连接器->输入,在附加依赖项处添加lib库文件全名,项目中即可使用库中的函数。     项目发布时,只需要自己的可执行文件即可,.lib不用一起发布

动态链接库的使用需要.dll、.lib、.h,注意此处的lib和上面的不是一个东西,是指的动态链接库的引入库。.lib和.h文件操作与静态链接库的导入相同,将.dll文件放在项目根目录下,即可。    项目发布时,需要引用的.dll随可执行文件一起发布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值