静态库:
cc -c mod1.c mod2.c //编译
ar r libdemo.a mod1.o mod2.o //生成静态库
cc -c prog.c //编译
cc prog.o libdemo.a -o prog //链接
其中-c选项意为只编译不链接
ar tv libdemo.a // 查看libdemo.a包含的目标文件
r:替换
t:目录表
d:删除
动态库:
1.gcc -c -fPIC mod1.c mod2.c
2.gcc -shared mod1.o mod2.o -o libfoo.so
或者
gcc -fPIC mod1.c mod2.c -shared -o libfoo.so
nm mod1.o | grep -GLOBAL_OFFSET_TABLE //确定目标文件编译时是否使用了-fPIC选项