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

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值