静态库创建过程:
1编写文件 开始连接
gcc -c mylib0.c -o mylib0.o
2将目标文件加入库中
ar cqs libmylib0.a mylib0.o
3、将库文件拷贝到/usr/lib
sudo mv libmylib0.a /usr/lib
4、创建头文件 mylib0.h
5、在其他文件中使用库
6、连接静态库
注意gcc默认只连接libc库,故需要使用 -I添加库
gcc test.c -o test /usr/lib/libmylib0.a
*.在程序中使用静态库
(1)如果是标准C语言库我们可以不指定其库路径和库名称
(2)如果静态库处于/lib或/usr/lib下
gcc -o test test.c /usr/lib/libm.a 或 gcc -o test test.c -lm
他们的效果相同。-lm意味着命名为libm.a或libm.so的文件(注意Linux下的库文件都要以lib开头)。
(3)如果要指定静态库所在的路径
可以gcc test.c -L/usr/lib -lm
动态库:
1>首先生成目标文件,但是此时要加编译器选项-fpic和链接器选项-shared,
gcc -fpic -c add.c
gcc -fpic -c sub.c
生成中间文件add.o和sub.o
2>其次生成动态库
gcc -shared –o libtiger.so add.o sub.o
使用动态链接库
在编译程序时,使用动态链接库和静态库是一致的,使用”-l库名”的方式,在生成可执行文件的时候会链接库文件。
1>使用命令:
gcc -o main main.c -L ./ -ltiger
引用:http://blog.chinaunix.net/uid-25885064-id-3066814.htmlhttp://blog.csdn.net/tigerjibo/article/details/6992531