打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
LIB文件与DLL文件
LIB文件与DLL文件
标签: dll工作
2010-09-19 23:56 975人阅读 评论(0)  举报
 分类:
Visual C++ 6(24) 
Lib是编译时静态链接库,dll是运行时动态链接库。可通过不同的角度来看待这个问题:
(1)一般的动态库程序生成有lib文件和dll文件。lib文件是必须在编译期就连接到应用程序中的,而dll文件是运行期才会被调用的。如果有dll文件,那么对应的lib文件一般是一些索引信息,具体的实现在dll文件中。如果只有lib文件,那么这个lib文件是静态编译出来的,索引和实现都在其中。静态编译的lib文件有好处:给用户安装时就不需要再挂动态库了。但也有缺点,就是导致应用程序比较大,而且失去了动态库的灵活性,在版本升级时,同时要发布新的应用程序才行。
(2)在使用动态库的情况下,有两个文件,一个是引入库(.LIB)文件,一个是DLL文件,引入库文件包含被DLL导出的函数的名称和位置,DLL则包含实际的函数和数据,应用程序使用LIB文件链接到所需要使用的DLL文件,库中的函数和数据并不复制到可执行文件中,因此在应用程序的可执行文件中,存放的不是被调用的函数代码,而是DLL中所要调用的函数的地址,这样当一个或多个应用程序运行时再把程序代码和被调用的DLL函数代码链接起来,从而节省了内存资源。从上面的说明可以看出,这种应用情况下,DLL和.LIB文件必须随应用程序一起发行,缺.LIB文件导致编译错误,缺DLL文件导致运行错误。
(3)DLL的LIB(导入库),不含可执行的具体代码(代码在DLL中)。而最早的LIB(静态链接库),里面含有代码。所以,可以看出来,如果一个函数被调用多次,使用DLL(动态链接技术),可以节省一些硬盘和内存空间!而用LIB(静态链接技术),每次调用,都会链接入相同的代码,造成一些空间上的浪费。不过它的好处是不需要进行一个“查找”工作(也就是DLL应用时要找到LIB文件中说的DLL的“函数入口点”,可以获得更高的效率)。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
dll 和lib关系
动态库、静态库、运行时库、引入库之间的区别
动态链接库dll,静态链接库lib, 导入库lib
Qt DLL总结【一】-链接库预备知识 - 柳北风儿~~~~~~~欲宇仙炅 - ITeye技术网站
VS2008中生成lib和dll库文件
关于DSP中的lib
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服