加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ldd 打印可执行文件依赖哪些共享库

发布时间:2020-12-13 19:56:36 所属栏目:百科 来源:网络整理
导读:ldd test.exe linux-gate.so.1 = (0x40000000) libstdc++.so.6 = /usr/lib/libstdc++.so.6 (0x00197000) libm.so.6 = /lib/libm.so.6 (0x00bb3000) libgcc_s.so.1 = /lib/libgcc_s.so.1 (0x00189000) libc.so.6 = /home/xguan005/autorun/lib/libc.so.6 (0x40
ldd test.exe
linux-gate.so.1 => (0x40000000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00197000)
libm.so.6 => /lib/libm.so.6 (0x00bb3000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00189000)
libc.so.6 => /home/xguan005/autorun/lib/libc.so.6 (0x40018000)

/lib/ld-linux.so.2 (0x00a4a000)


ldd本身不是可执行程序,只是一个shell脚本。通过set -x得到如下log信息。

+ eval LD_TRACE_LOADED_OBJECTS=1 LD_WARN= LD_BIND_NOW= 'LD_LIBRARY_VERSION=$verify_out' LD_VERBOSE= '"$@"'
++ LD_TRACE_LOADED_OBJECTS=1
++ LD_WARN=
++ LD_BIND_NOW=
++ LD_LIBRARY_VERSION=6
++ LD_VERBOSE=
++ ./mytest/c++/test.exe
+ cat
linux-gate.so.1 => (0x40000000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00197000)
libm.so.6 => /lib/libm.so.6 (0x00bb3000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00189000)
libc.so.6 => /home/xguan005/autorun/lib/libc.so.6 (0x40018000)
/lib/ld-linux.so.2 (0x00a4a000)
+ rc=0


如果此程序依赖于64位的动态库,而你在32位系统上做此操作,查询不到,则会提示:

ldd xxx.exe
not a dynamic executable


一个程序是否可以执行,请确定其是否依赖动态库,而此系统不包含对应的动态库。

执行操作,则提示:

xxx.exe: cannot execute binary file

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读