一、可执行文件/二进制文件依赖共享库
成都创新互联是专业的南溪网站建设公司,南溪接单;提供成都网站制作、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行南溪网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
ldd命令用来查看可执行文件依赖的共享库文件。
$ ldd --help
Usage: ldd [OPTION]... FILE...
--help print this help and exit
--version print version information and exit
-d, --data-relocs process data relocations
-r, --function-relocs process data and function relocations
-u, --unused print unused direct dependencies
-v, --verbose print all information
示例:
$ ldd helloworld
二、共享库依赖共享库关系
上面的ldd命令无法查看共享库的依赖关系,因为共享库本身并不是可执行文件,我们可以使用
objdump -x libhelloworld.so | grep NEEDED
其中,libhelloworld.so是你的库名称。
附:
readelf命令用于读取ELF Header信息
名称
ldd
-
打印共享库的依赖关系
大纲
ldd
[选项]... 文件...
描述
ldd
输出在命令行上指定的每个程序或共享库需要的共享库。
选项
--version
打印ldd的版本号
-v
--verbose
打印所有信息,例如包括符号的版本信息
-d
--data-relocs
执行符号重部署,并报告缺少的目标对象(只对ELF格式适用)
-r
--function-relocs
对目标对象和函数执行重新部署,并报告缺少的目标对象和函数(只对ELF格式适用)
--help
用法信息
或者看看《linux就该这么学》,具体关于这一章地址3w(dot)linuxprobe/chapter-02(dot)html.
用来查看某个可执行文件所依赖的所有动态库的名字及其所在路径。