c语言第四讲 动态库、静态库
2021-10-25 本文已影响0人
大旺旺的弟弟小旺旺
静态库和动态库的生成
静态库
静态库就是一些目标文件的集合,一般以.a结尾,使用于生成可执行文件阶段。
链接器将库文件取得所需要的代码。复制到可执行文件中,特点就是它是数据的一份复制,缺点就是需要不听的复制,如果有更新就需要对其重新编译和发布。
如何生成静态文件呢
- 首先生成
.o
文件
gcc -c test.c -o test.o
- 使用命令将目标文件打包成为一个 静态库
ar rcs libtest.a test.o
- r:增加或者更新新文件
- c:无论如何都创建
- s:创建文档索引
- 查看静态库的内容
ar t libtest.a
动态库
动态库在链接阶段没有被复制,在程序运行的时候有系统动态加载到内存。系统只会加载一次,可以节约内存.
如何生成静态库
首先也是生成目标文件
gcc -c test.c
使用0shared -fPIC
gcc -shared -fPIC -o libtest.so test.o