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