linux库文件的制作
或 --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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |