TOC
- 动态库和静态库
- 动态库的优势和劣势
- 静态库的优势和劣势
- Linux平台的静态库
- 静态库的生成
- 静态库的链接
- Linux平台的动态库
- 动态库的生成
- 动态库的链接
- Windows平台的静态库
- 静态库的生成
- 静态库的链接
- Windows平台的动态库
- 动态库的生成
- 动态库的链接
动态库和静态库
- 在Win下,动态库以.dll结尾,静态库以.lib结尾。
- 在Linux下,动态库文件以.so结尾,静态库以.a结尾。
- 在Mac下,动态库以.dylib结尾,静态库以.a结尾。
动态库的优势和劣势
- 动态函数库在编译的时候并没有被编译进目标代码中,你的程序执行到相关函数时才调用该函数库里的相应函数,因此动态函数库所产生的可执行文件 比较小。由于函数库没有被整合进你的程序,而是程序运行时动态的申请并调用,所以程序的运行环境中必须提供相应的库。 动态函数库的改变并不影响你的程序,所以动态函数库的升级比较方便。
- 某个程序在运行时要调用某个动态链接库函数的时候,OS首先查看所有正在运行的进程,找找看是否已经有人载入了这个库。如果有的话,直接用。 如果没有才会载入。这样的第一个优点就是节省内存空间。动态调入意味