六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 56|回复: 0

静态链接库和动态链接库

[复制链接]

升级  17.33%

70

主题

70

主题

70

主题

举人

Rank: 3Rank: 3

积分
252
 楼主| 发表于 2013-1-27 12:52:08 | 显示全部楼层 |阅读模式
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来指定路径
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表