例如:
$ ldd /bin/ls
linux-vdso.so.1 (0x00007ffcc3563000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f87e5459000)
这里的"0x00007ffcc3563000"和"0x00007f87e5459000"是什么意思?
我已经查询了手册页,根据它:
ldd 显示匹配对象的位置以及加载对象的(十六进制(地址。
这是否意味着共享对象在内核空间中的虚拟地址?但是,如果尚未加载此共享对象怎么办?
它们被加载(如果不是在此之前,那么肯定是在运行ldd
时(,这实际上是ldd
的工作方式。
ldd
程序使用动态链接器ld.so
来查找和加载满足依赖项所需的对象。
这在手册页中进行了描述ldd
,并警告您可能希望注意它在某些情况下可能会执行您提供给它的程序(并提供替代方案(。基本上,不要在不受信任的二进制文件上使用它。