库的创建和使用

动态库

创建动态库:
-shared 指明生成动态库

gcc -shared hello.c -o libhello.so

编译:
-L. 表示需要的动态库从当前目录寻找

gcc main.c -lhello -L. -o main

运行:
运行前需要把libhello.so复制到$PATH中,这里有两种选择
a.把库文件复制到查找路径中 cp libhello.so /usr/lib/
b.把当前路径添加到查找路径中 export LD_LIBRARY_PATH=.:LD_LIBRARY_PATH
完成上述的任一步骤后,即可运行./main

总结:
动态库命名习惯:lib[名字].so,libm.so,libpthread.so
编译选项:gcc编译时加-l[名字], gcc -lm, gcc -lpthread
例如涉及线程的程序编译时要用到libpthread.so这个库,则编译时为gcc main.c -o main -lpthread

静态库

创建静态库:

gcc -c hello.c //生成hello.o
ar -r libhello.a hello.o //ar类似tar,把中间代码归档

编译:

gcc main.c libhello.a -L. -o main

运行: ./main

posted @ 2017-02-16 00:30  cfans1993  阅读(142)  评论(0编辑  收藏  举报