dll、lib(动态链接库、静态链接库)的区别
来源:互联网 发布:神马小说软件下载 编辑:程序博客网 时间:2024/06/03 21:19
1.dll:dynamic link library;
lib:static link library。
2.windows系统中,许多app并不是仅由一个完整的exe构成,而是按功能分成了若干部分,由exe、dll、lib等组成,这些里面包含了函数的实现过程等。
3.lib编译时用到,用一下,链接完了就没事了;dll运行时用到,可能一直都在用。
4.如果只有lib,那么这个lib文件是静态编译出来的,索引和实现都在其中。使用静态编译的lib文件,在运行程序时不需要再挂dll,缺点是导致应用程序比较大,而且失去了dll的灵活性,发布新版本时要发布新的应用程序才行。
5.如果dll、lib文件都有,那么lib一般是一些索引信息,记录了dll中函数的入口和位置,dll中是函数的具体内容。动态链接的情况下,有两个文件:一个是LIB文件,一个是DLL文件。LIB包含被DLL导出的函数名称和位置,DLL包含实际的函数和数据,应用程序使用LIB文件链接到DLL文件。在应用程序的可执行文件中,存放的不是被调用的函数代码,而是DLL中相应函数代码的地址,从而节省了内存资源。DLL和LIB文件必须随应用程序一起发行,否则应用程序会产生错误。
6.如果只用dll,不想用lib文件或者没有lib文件,可以用WIN32 API函数LoadLibrary、GetProcAddress装载。
7.静态lib中,一个lib文件实际上是任意个obj文件的集合,obj文件是cpp文件编译生成的。在编译这种静态库工程时,根本不会遇到链接错误;即使有错,也只会在使用这个lib的EXT文件或者DLL工程里暴露出来。
- 静态链接库(.lib)和动态链接库(.dll)的区别和使用
- 【C++ Primer】静态链接库(lib)和动态链接库(dll)的区别和使用
- 【C++ Primer】静态链接库(lib)和动态链接库(dll)的区别和使用
- 【C++ Primer】静态链接库(lib)和动态链接库(dll)的区别和使用
- 静态链接库(lib)和动态链接库(dll)的区别和使用
- dll、lib(动态链接库、静态链接库)的区别
- 静态链接库(lib)和动态链接库(dll)的区别和使用
- 静态链接库lib, 动态链接库dll,导入库lib的区别
- LIB和DLL的区别与使用(静态链接库与动态链接库的区别)
- 动态链接库(.dll、.lib)与静态链接库(.lib)的创建与使用
- 静态链接库LIB和动态链接库DLL的区别
- 静态链接库(Lib)与动态链接库(DLL)的区别
- 静态链接库 和动态链接库 DLL和Lib的区别
- [转]静态链接库LIB和动态链接库DLL的区别 创建和示例
- 静态链接库LIB和动态链接库DLL的区别
- 静态链接库LIB和动态链接库DLL的区别 创建和示例
- 静态链接库LIB和动态链接库DLL的区别 创建和示例
- 静态链接库(Lib)与动态链接库(DLL)的区别
- SQLServer 页中数据行存储格式解析
- [CSS]使用绝对定位属性来实现CSS内部子容器高度随着外部父容器高度变化而变化
- Spring xml注入与注解
- codeforces 832B (Petya and Exam)
- 获取手机的硬件信息
- dll、lib(动态链接库、静态链接库)的区别
- python实现贪吃蛇
- linux日志
- SQLserver分页语句
- Spring Aspectj 代理 前置 后置 以及 异常
- Hadoop-No.2之标准文件格式
- Android 6.0权限申请
- iOS textField弹出自定义键盘(日期时间、省市、国家)
- 【揭秘】欧深特教你如何选择正确的光纤跳线