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