QT总结第4篇:.lib和.dll文件的区别
来源:互联网 发布:关于网络宣传部的介绍 编辑:程序博客网 时间:2024/04/29 20:09
上一篇介绍了如何在QT中添加.lib和.dll文件,这一篇简单的介绍下.lib和.dll文件的区别。
1)静态链接库:
简称静态库,也就是.lib文件。里面包含了所有函数的实现代码还有其他执行代码等。在连接的过程中,所有的代码都会嵌入到可执行代码中,导致可执行代码过大,但是可执行代码运行的时候, 不再需要.lib文件。
2)动态链接库:
简称动态库,也就是.dll文件。.dll文件在代码编译连接的时候,并不会导入到可执行代码中!而是可执行代码在真正运行的时候,如果用到了.dll文件中的函数,则临时到.dll文件中去寻找,这样可以有效防止可执行代码过大,也大大增加了灵活性。那么,这里有一个问题,可执行代码怎么知道函数在.dll文件中的哪里呢?这里,又提到一个概念,.lib。此lib非彼lib,这个.lib文件可不是之前说的静态链接库,在这里,他被叫做动态链接库的导入库(简称导入库)!这个.lib文件里面,放入的是索引信息,在连接的时候,包含进可执行文件中,当可执行文件需要去执行.dll文件的函数时,会首先去导入库中找到该函数对应的内存地址,然后根据这个索引去.dll中找到具体实现。
总结一下:
1)一般,如果只有.lib,则该.lib是静态链接库,里面包含了所有代码的实现等。如果有.dll,则一定有.lib。该.lib为导入库,存放的是调用的函数的内存地址。
2)对于动态库而言,可执行代码中仅仅包含了索引信息,当用到这些函数的时候,再根据索引信息,去.dll文件中找到函数的具体实现
- QT总结第4篇:.lib和.dll文件的区别
- QT总结第3篇:如何在QT中添加.lib,.dll还有.h文件
- QT总结第3篇:如何在QT中添加.lib,.dll还有.h文件
- dll和lib文件的区别zz
- dll和lib文件的区别
- .lib和.dll文件的区别
- dll和lib文件的区别
- 解析dll文件和lib文件的区别
- VS中如何加载lib和dll文件,lib和dll的区别
- lib和dll文件的区别和联系
- lib和dll文件的区别和联系
- lib和dll文件的区别和联系
- lib和dll文件的区别和联系
- lib和dll文件的区别和联系
- lib和dll文件的区别和联系
- lib和dll文件的区别和联系
- lib和dll文件的区别和联系
- lib和dll文件的区别和联系(1)
- Win8下的SAP安装初体验
- 【OC】IOS7中UITableView的变化
- C++中静态成员函数访问非静态成员变量(转)
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- 爆笑程序猿
- QT总结第4篇:.lib和.dll文件的区别
- RBAC权限管理
- wins与网络时间同步
- 利用VIM提供的正则去掉代码每行开头不想要的行号
- 如何在github上发起一个pull request
- 黑马程序员 ---交通灯管理系统
- 单机游戏数据库探讨(MySQL嵌入式服务器的使用)(未完)
- 我的hadoop初学程序--------AverageScore--------------平均成绩
- STM32单片机用FSMC接口控制SRAM