Linux(程序设计):06---动态函数库与静态函数库(ldconfig、ldd命令与/etc/ld.so.conf)

一、动态函数库(.a)

  • 扩展名:libxxx.a
  • 编译操作:这类函数库在编译的时候直接整合到执行程序当中,所以用静态函数库编译成的文件会比较大一些
  • 程序独立执行的状态:这类函数库最大的优点就是编译成功的可执行文件可以独立运行,不需要再向外部读取函数库的内容
  • 升级难易度:因为函数库直接整合到执行文件中,所以若函数库升级时,整个执行文件必须重新编译才能将新版的函数库整合到程序当中。在升级方面比较麻烦

二、动态函数库(.so)

  • 扩展名:libxxx.so
  • 编译操作:动态函数库在编译的时候,在程序里面只有一个【指针】的位置而已。当执行文件要使用到函数库的功能时,程序才会根据这个指针读取函数库来使用。函数库的实际内容并不会整合到程序中,所以该程序的大小比使用静态函数库的程序会小一些
  • 程序独立执行的状态:这类型的函数库所编译出来的程序不能被独立执行,因为我们使用到函数库的功能时,程序才会去读取函数库,所以这个函数库必须存在才可以,且函数库的目录不能改变。否则程序将找不到指定的函数库来执行
  • 升级难易度:因为函数库的内容并没有实际加载到程序中,所以对动态函数库的更新比较方便,且程序不需要被重新编译

三、ldd命令

1.功能

  • 查看一个可执行的二进制文件含有什么动态函数库

2.命令格式

  • ldd  [-vdr]   可执行文件名

相关参数与选项

  • -v:列出所有的内容信息
  • -d:重新将数据有遗失的链接点显示出来
  • -r:将ELF有关的错误信息显示出来

3.演示案例

  • 找出/usr/bin/paswd这个文件的函数库信息

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董哥的黑板报

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值