19 静态库和共享库

写的非常详细!

静态库可以认为是一些目标代码的集合。按照习惯,一般以“.a”做为文件后缀名。使 用ar(archiver)命令可以创建静态库。因为共享库有着更大的优势,静态库已经不经常使用。但静态库使用简单,仍有使用的余地,并会一直存在。有些Unix系统,如Solaris 10, 已经基本废弃了静态库。

静态库在应用程序生成时,可以不必再编译,节省再编译时间。但在编译器越来越快的 今天,这一点似乎已不重要。如果其他开发人员要使用你的程序,而你又不想给其源码,提供静态库是一种选择。从理论上讲,应用程序使用了静态库,要比使用动态加载库速度快 1-5%,但实际上可能并非如此。由此看来,除了使用方便外,静态库可能并非一种好的选择。

要创建一个静态库,或要将目标代码加入到已经存在的静态库中,可以使用以下命令:
ar rcs libmylib.a file1.o

file2.o以上表示要把目标码file1.o和file2.o加入到静态库libmylib.a中(ar的参数 r)。若libmylib.a不存在,会自动创建(ar的参数c)。然后更新.a文件的索引,使之包含新 加入的.o文件的内容(ar的参数s)。

Add.c

int Add(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值