更好的文章:http://www.cppblog.com/deane/articles/165216.html
静态库生成:(举例加法库)
1.编程源程序 add.h add.c
2.编译源程序,生成add.o文件
3. ar -r lib库名.a=====>libadd.a
调用静态库时,需要库文件和头文件.静态库调用步骤:
1.写调用的源程序 (test.c),保存退出.
2.编译代码,生成.o文件 test.o
3.链接test.o 和静态库;链接方式有三种:(假设库文件和和test在一个目录)
a) gcc test.o lib名字.a(直接连) : gcc test.o libadd.a
b) 先配置环境变量LIBRARY_PATH,把静态库文件所在的路径配置进去,然后
gcc test.o -l 库名字(库名字去掉lib和.a): gcc test.o -l add
c) gcc test.o -l 库名字 -L 库路径. : gcc -test -l add -L .
共享库生成步骤:
1.编写源程序然后保存退出 add.h add.c
2.编译源程序 生成.o 文件: gcc -c -fpic 源程序 (-fpic不写也行) :gcc -c add.c
3. gcc -shared add.o -o lib名字.so
共享库使用步骤:(需要提供头文件和库文件)
1.编写源程序 test.c
2.编译源程序生成.o文件:gcc -c test.c
3.调用共享库:(共享库在运行时需要额外配置环境变量LD_LIBRARY_PATH,链接方式和静态库一样.
1.配环境变量LD_LIBRARY_PATH 把库文件路径设置进环境变量.
2.加载命令和静态库一样.
如: gcc test.o -l add -L .