动态连接库与静态连接库的区别(C+…
2013-11-01 09:24
323 查看
静态链接库是.lib格式的文件,一般在工程的设置界面加入工程中,程序编译时会把lib文件的代码加入你的程序中因此会增加代码大小,你的程序一运行lib代码强制被装入你程序的运行空间,不能手动移除lib代码。
动态链接库是程序运行时动态装入内存的模块,格式*.dll,在程序运行时可以随意加载和移除,节省内存空间。在大型的软件项目(或向手机这种内存空间较小的环境中)中一般要实现很多功能,如果把所有单独的功能写成一个个lib文件的话,程序运行的时候要占用很大的内存空间,导致运行缓慢;但是如果将功能写成dll文件,就可以在用到该功能的时候调用功能对应的dll文件,不用这个功能时将dll文件移除内存,这样可以节省内存空间。
静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。
转发至微博
转发至微博
动态链接库是程序运行时动态装入内存的模块,格式*.dll,在程序运行时可以随意加载和移除,节省内存空间。在大型的软件项目(或向手机这种内存空间较小的环境中)中一般要实现很多功能,如果把所有单独的功能写成一个个lib文件的话,程序运行的时候要占用很大的内存空间,导致运行缓慢;但是如果将功能写成dll文件,就可以在用到该功能的时候调用功能对应的dll文件,不用这个功能时将dll文件移除内存,这样可以节省内存空间。
静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。
转发至微博
转发至微博
相关文章推荐
- 动态连接库和静态连接库的区别
- C++中动态连接库与静态连接库的区别
- 动态连接库DLL和静态连接库lib的区别小记
- 动态连接库和静态连接库有什么区别?
- 动态连接库和静态连接库有什么区别?
- 动态连接库和静态连接库有什么区别?
- 生成动态连接库、静态连接库的 makefile
- 静态连接库和动态链接库的区别
- 静态连接和动态链接有什么区别?
- Linux下生成.so(动态连接库).a(静态连接库的)例子 --- 转
- 动态链接库dll和静态连接库lib的区别
- 生成动态连接库、静态连接库的 makefile
- windows 查看动态连接库和静态连接库的方法
- 静态解析,动态连接,静态分派,动态分派之间的联系和区别
- C++中动态连接库与静态连接库的区…
- 静态链接到MFC的DLL 和 动态连接到MFC的DLL 的区别
- 静态连接库、动态连接库、和com组件 (ZZ)
- TCP长连接与短连接的区别
- Java初学者Paulmarkyes---中静态代码块,普通代码块,构造代码块,构造方法先后执行顺序以及区别
- asp.net 中静态方法和动态方法调用的区别实例分析