深入理解C语言库:静态库、动态库的创建、安装与使用
1. 静态库的使用与符号处理
当我们想在程序中使用静态库时,需将存档文件名和程序的C文件提供给GCC,这样会生成包含静态库的二进制文件。之后,我们可以使用 nm 命令检查二进制文件,查看所有符号,再使用 strip 命令移除这些符号。像 ls 、 more 、 sleep 等程序也是经过符号移除处理的。
不过,静态库的符号不能被移除。若移除了符号,链接器将无法找到函数,链接过程就会失败。所以,千万不要对静态库进行符号移除操作。
2. 创建动态库
虽然静态库创建和使用都很方便,但动态库更为常见。很多开发者会选择提供库而非仅提供程序,例如cURL。下面我们就来把之前创建静态库时用到的 convert.c 文件改造成动态库。
2.1 准备工作
-
convert.c和convert.h文件 - GCC编译器
2.2 操作步骤
- 移除之前创建的目标文件和旧静态库,避免误使用:
$> rm convert.o libconvert.a
- 从C文件创建新的目标文件。 <
超级会员免费看
订阅专栏 解锁全文
798

被折叠的 条评论
为什么被折叠?



