一、概述
二、动态库的优缺点
机制:
- 共享库的代码是在可执行程序运行时才载入内存的,在编译过程中仅简单的引用,因此代码体积较小。
优点:
- 节省内存(共享)
- 易于更新(动态链接)
- 停止运行程序
- 使用新库覆盖旧库(保证新旧库名称一致,接口一致)
- 重新启动程序
缺点:
- 延时绑定,速度略慢
使用场合:
- 对速度要求不是很强烈的地方都应使用动态库
注意事项:
- 动态库是否加载到内存,取决于程序是否运行
命名格式:
- lib开头
- 动态库名
- .so结尾
三、动态库的制作
(1)制作步骤
1)生成“与位置无关“的目标文件。
gcc -fPlC a.c b.c c.c -c
- 参数:-PIC 表示生成与位置无关代码
- 执行完毕后生成一系列的 .o 文件
2)制作