`
fujinbing
  • 浏览: 233206 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

静态链接库和动态链接库

阅读更多
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来指定路径
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics