Linux学习日记(十二)——Ubuntu下创建静态库、动态库
Ubuntu下创建静态库、动态库
静态库命名格式:
lib+静态库名+.a —— (libMylib1.a,该静态库的名称位Mylib1)
相关描述:
静态库的优点在于寻址方便、速度快,库被打包到可执行程序中,直接发布可执行程序就可以正常使用。
静态库的不足在于使用静态库的代码在编译过程中已经载入进可执行程序,因此可执行程序的体积大,如果静态库进行了修改,那么依赖于该库的可执行程序需要重新编译。
静态库主要应用在核心程序,用以保证程序的执行速度。
静态库的制作:
- 编译得到可执行文件(*.o文件) gcc a.c b.c c.c -c
- 打包得到静态库libXXX.a
ar rcs libXXX.a a.o b.o c.o
使用静态库:
要使用静态库需要有静态库文件以及对应的头文件。
动态库命名格式:
lib+静态库名+.so —— (libMylib1.so,该动态库的名称位Mylib1)
动态库的制作:
- 生成于位置无关的代码
gcc -fpic -c *.c -I ../include
- 打包得到动态库libXXX.a
gcc -shared -o libMylib1.so *.o
使用动态库:
要使用动态库需要有动态库文件以及对应的头文件。
LD_LIBRARY_PATH可用于临时导入动态库