第一章:明白什么是静态链接库和动态链接库
在linux操作系统中,存在有静态库和动态库,两者之间的区别只是被载入时间的不同
静态库在函数链接过程中会拷贝副本到可执行程序中,所以如果用户有很多程序调用这个静态链接库,就会拷贝多次;
动态链接库是在执行过程中才会调用,因此动库库不能删除。
第二章:库的命名
一般静态库的命名采用libxxx.a这种形式的
动态库的命名采用libxxx.so这种形式的
第三章:示例
本实例提供2个程序文件,分别是hello.c test.c
hello.c
#include <stdio.h> void hello() { printf("hello,word"); }
test.c
#include <stdio.h> int main() { hello(); }
我们先创建静态链接库gcc -c hello.c
会生成hello.o文件
静态链接库使用ar命名
ar rcs libhello.a hello.o
会生成libhell.a这个文件,也就是静态链接库文件
如何使用: