快速业务通道

linux库文件的制作

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-19
或 --data-relocs : 此选项执行重定位,并且显示不存在的函数.

  (4) -r 或 --function-relocs : 此选项执行数据对象与函数的重定位,同时报告不存在的对象.

  (5) --help : 此选项用于打印出ldd的帮助信息.

  我们一般用-v选项.

  现在看几个实例

  ⑴用静态库连接时的结果

  #ldd main

  libc.so.6 => /lib/tls/libc.so.6 (0xb74ad000)

  /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb75eb000)

  可见使用静态库时,库已经被编译成程序的一部分,因此ldd的输出中就只有用到的

  系统库.

  ⑵用动态库隐式连接时的结果

  libtest.so => /root/exercise/libtest.so (0xb75e2000)

  libc.so.6 => /lib/tls/libc.so.6 (0xb74ab000)

  /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb75eb000)

  可见隐式使用动态库时,所有用到的动态库(包括系统和用户的)都会被显示出来.

  (8) -l : 通常情况下,ldconfig搜索动态链接库时将自动建立动态链接库的连接.选择此项时,将进入专家模式,需要手工设置连接.一般用户不用此项.

  (9) -p或--print-cache : 此选项指示ldconfig打印出当前缓存文件所保存的所有共享库的名字.

  (10) -c FORMAT 或 --format=FORMAT : 此选项用于指定缓存文件所使用的格式,共有三种: ld(老格式),new(新格式)和compat(兼容格式,此为默认格式).

  (11) -V : 此选项打印出ldconfig的版本信息,而后退出.

  (12) -? 或 --help 或 --usage : 这三个选项作用相同,都是让ldconfig打印出其帮助信息,而后退出.

  linux下的共享库机制采用了类似于高速缓存的机制,将库信息保存在/etc/ld.so.cache里边.

  程序连接的时候从这个文件里边查找,然后再到ld.so.conf的路径里边去详细找.

  这就是为什么修改了ld.so.conf要重新运行一下ldconfig的原因

  补充一点,ldconfig在/sbin里面.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号