vs2010中C++生成lib和dll文件

本文介绍了在Visual Studio 2010中创建C++静态库lib和动态链接库dll的区别及步骤。静态链接库在编译时将代码拷贝到exe,而动态链接库在运行时加载。dll可以被多个程序共享,节省磁盘空间,但可能影响执行性能。创建dll的步骤包括新建Win32控制台应用,设置为DLL类型,添加头文件和源文件,定义导出宏等。
摘要由CSDN通过智能技术生成
在做项目的时候常常会听到同事们说起“库”这个词语,首先我们能想到的就是静态链接库lib和动态链接库dll。所谓的库就是一些功能代码经过编译连接后的可执行形式。
首先我们区分一下lib和dll:
共同点:它们都是共享代码的方式。
不同点:
1、静态链接库lib,lib中的指令都全部被直接包含在最终生成的exe文件中,在编译链接时直接将需要的执行代码拷贝到调用处。而动态链接库dll指令不必包含在最终的exe文件中,exe文件可以“动态”地引用和卸载dll文件,换名话句话说,它在编译的时候不直接拷贝可执行代码,而是通过记录一系列符号和参数,在程序运行或加载时将这些信息传递给操作系统,操作系统负责将需要的动态库加载到内存中,然后程序在运行到指定的代码时,去共享执行内存中已经加载的动态库可执行代码,最终达到运行时连接的目的。
2、静态链接库lib,不能再包含其他动态或静态链接库;而动态链接库还可以包含其他的动态或静态链接库。
综上,他们各自的优缺点就很明显了:
静态链接:程序发布的时候就不需要的依赖库,也就是不再需要带着库一块发布,程序可以独立执行,但是体积可能会相对大一些。
动态链接:优点是多个程序可以共享同一段代码,而不需要在磁盘上存储多个拷贝,缺点是由于是运行时加载,可能会影响程序的前期执行性能。

特别注意:
DLL是动态链接库,但lib就一定是静态链接库吗?我
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值