linux静态库

linux静态库

  • .a 就是linux系统中的静态库拉,它是.o文件的集合拉, 相当于
    windows中的.lib哈,只不过.lib是.obj文件的集合拉。。

  • 当.o文件大量存在时,就不得不链接写很多xxx.o这样很麻烦拉,
    所以发明了.a静态库文件拉。。

  • ar 程序就是管理.o文件的拉,他可以对.o文件增删改查形成
    静态库.a文件拉(.o文件的集合)

  • linux下的.o 就是elf格式文件哈。

  • 链接方法直接在链接选项加上xxx.a就可以拉,链接器ld
    会用ar解开这个.a文件取出所有的.o一个个的连接的拉。

  • 当然还可以做成libxx.a这种拉,使用-lxx参数加载 -Bstatic
    不过不推荐这种使用方式哈。。
    linux静态库

    • 例如:
      ar r mod.a mod1.o mod2.o mod3.o 增加指定.o 到.a
      ar r mod.a *.o 增加匹配所有.o
      ar t mod.a显示.a所有.o
      ar d mod.a mod2.o 删除.a中xxx.o
      ar t mod.a
      ar r mod.a mod2.o 修改xx.a中xxx.o
      linux静态库
      linux静态库