linux下查看对象文件依赖的动态库的工具ldd以及共享库缓存构建工具ldconfig介绍

1.ldd

(1)ldd的作用

ldd可以列出一个对象文件所依赖的所有的动态库。

ldd不是可执行文件,而是一个shell脚本。


(2)ldd的使用方法

ldd [option] filename

使用举例:

$ ldd /bin/ping 
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fd5f810e000)
        libc.so.6 => /lib64/tls/libc.so.6 (0x00007fd5f7ed9000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003f0ae00000)



2.ldconfig

(1)ldconfig工具介绍

linux系统中,有一个配置文件/etc/ld.so.conf,这个配置文件中配置了很多共享库的路径。一些依赖共享库的可执行程序可能会到ld.so.conf文件所配置的路径中查找自己所依赖的共享库的具体位置。然后直接遍历ld.so.conf中的各个目录,可能会很慢。而ldconfig工具可以构建一个/etc/ld.so.cache文件,为ld.so.conf中配置的各个共享库生成必须的链接和cache。动态加载器利用来自ld.so.cache 的缓存文件来定位需要动态加载及链接的文件。

       如果改变了ld.so.conf(或在 ld.so.conf.d 中增加新文件), 必须运行ldconfig 命令(以 root用户身份)来重构 ld.so.cache 文件。如果不执行的话,那么在需要加载共享库时,却无法找到。

 

(2)ldconfig命令的重要选项

-v或--verbose: 用此选项时,ldconfig将显示正在扫描的目录及搜索到的动态链接库,还有它所创建的连接的名字
-f filename: 此选项指定动态链接库的配置文件为filename,系统默认为/etc/ld.so.conf
-C cache: 此选项指定生成的缓存文件为cache,系统默认的是/etc/ld.so.cache,此文件存放已排好序的可共享的动态链接库的列表
-p或--print-cache: 此选项用来打印ldconfig工具构建的缓存文件中所保存的所有共享库的名字

(3)ldconfig使用举例

ldconfig    #重新构建/etc/ld.so.cache文件
ldconfig -p   #打印ldconfig工具构建的缓存文件中所保存的所有共享库的名字



学习资料参考于:

http://www.ibm.com/developerworks/cn/linux/l-lpic1-v3-102-3/


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值