浅析UNIX/Linux静态库与共享库

一、什么是库?

  本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行,我们把不需要升级更新维护的代码打包合并在一起方便使用,也可以对源代码进行保密。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。

  Linux/UNIX操作系统支持的函数库分为静态库和动态库,动态库又称共享库。Linux系统有几个重要的目录存放相应的函数库,如/lib 、 /usr/lib。

二、静态函数库

  这类库的名字一般是libxxx.a

1、创建静态库

①、编译object文件。例如:gcc -Wall -c ctest1.c ctest2.c,该命令会生成ctest1.o和ctest2.o(其中-Wall表示编译时输出警告)。

②、打包生成静态库: ar -r libxxx.a x1.o x2.o …

这里列出关于ar命令的一些参数:

参数 作用 使用格式
-r 把目标文件添加到静态库中,已经存在的更新 ar -r 库名 目标文件
-q 将目标文件追加到静态库的末尾 ar -q 库名 目标文件
-d 从静态库中删除目标文件 ar -d 库名 目标文件
-t 显示静态库有哪些目标文件 ar -t 库名
-x 把静态库拆分成目标文件</
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值