Linux中关于库

1.库文件

库是一组预先编译好的方法的集合.

/lib 根目录下的库文件

/usr/lib

Linux系统存储库的位置一般存放在/lib 和/usr/lib(64位系统/usr/lib64)

库的头文件放在/usr/include

2.库的分类

静态库:libxxx.a(命名规则)

lib开头

静态库名

.a结尾

在这里插入图片描述
共享库也称动态库:libxxx.so(命名规则)

lib开头

动态库名

.so结尾

在这里插入图片描述

3.静态库和共享库的区别

1)静态库的代码在编译过程中已经被载入可执行程序,因此体积较大;

2)共享库的代码是在可执行程序运行时才载入内存的,在编译过程中仅简单的引用,因此代码体积较小;

3)因此,二者的不同点在于代码被载入的时刻不同。静态库的代码在编译过程中已经被载入可执行程序,因此体积较大。共享库的代码是在可执行程序运行时才载入内存的, 在编译过程中仅简单的引用, 因此代码体积较小;

静态库链接生成的可执行文件体积较大,且包含相同的公共代码,造成内存浪费;共享库显著减少应用程序可执行文件占用的硬盘空间。

4)使用静态库,在链接阶段直接将库中的内容合并到最终的可执行文件中;
使用共享库,在链接阶段只在可执行文件中设置使用的库,运行时有操作系统动态加载到内存上,所以执行速度比共享库要快一点。
5)静态库文件的更新不会反映到应用程序中,需要重新编译新的静态库;共享库能够在任何时候更新(修复bug,增加新的功能),并且能够被反映到应用程序中。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值