更好的文章: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 .

 

 

 

 

 posted on 2013-10-20 13:26  mfslog  阅读(170)  评论(0编辑  收藏  举报