读书人

静态链接库跟动态链接库

发布时间: 2012-11-05 09:35:12 作者: rapoo

静态链接库和动态链接库
http://blog.csdn.net/fengyv/archive/2006/05/25/754030.aspx


一、静态链接库打包方式
ar -rc 库名 编译文件
ar -rc libtest.a *.o

注意:输入是.o(编译文件),输出是.a(静态库文件)


二、动态链接库打包方式
gcc -fpic -shared -o 库名 源代码文件
gcc -fpic -shared -o libtest.so aa.c bb.c

注意:输入是.c(源码文件),输出是.so(动态库文件)

三、通过链接库打包

使用链接库时,无论静态,还是动态,打包方法是一样。

gcc -o output cc.o /tmp/libtest.so
gcc -o output cc.o /tmp/libtest.a

四、gcc中的一些参数
-I头文件目录
-L链接库路径
-l链接库名称

注意: 使用动态链接库时: 直接写全路径引入动态链接库 和 用-L,-l参数引入动态链接库,的区别: 1)使用前者,以后运行时,总去哪个路径加载链接库(若没有,则报错)。
2)使用后者,以后运行时,可以通过LD_LIBRARY_PATH来指定路径

读书人网 >编程

热点推荐