ldd(List Dynamic Dependencies)
命令是Linux系统中的一个工具
它用于打印出一个可执行文件所依赖的共享库文件(动态链接库)
当你运行ldd命令,并跟上一个可执行文件作为参数,它会列出该可执行文件所需要的共享库文件列表。
使用ldd命令的语法如下:
ldd [options] <可执行文件>
[options]中的选项有一下几种:(可以通过ldd --help查到,也可以通过ldd --version查看版本)
--help
获取指令帮助信息;
–version
打印指令版本号;
-d
:执行重定位和报告任何丢失的对象;
-r
:执行数据对象和函数的重定位,并且报告任何丢失的对象和函数;
-u
:打印未使用的直接依赖;
-v
:打印所有相关信息;
当你运行ldd命令时,它会解析给定的可执行文件,并递归地检查其动态链接依赖项
然后,它会打印出每个依赖项的路径,以及该依赖项是否可以找到
如果找不到某个依赖项,则会显示一个错误信息。
例如:
假设我们有一个名为my_program的可执行文件,我们可以使用ldd命令来查看它所依赖的共享库文件:
ldd my_program
ldd命令会输出类似以下的结果:
linux-vdso.so.1 => (0x00007ffd3a7b3000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5d5e1b8000)
/lib64/ld-linux-x86-64.so.2 (0x000055a1a95c4000)
上面的输出表示my_program
依赖于linux-vdso.so.1、libc.so.6
和ld-linux-x86-64.so.2
这三个共享库文件。每个依赖项的路径都会显示在箭头(=>)之后。
如下图所示: