Linux命令查看X86平台 ARM平台上可执行文件与库的依赖关系

PC Linux上查看库依赖依赖关系

直接使用ldd 命令即可,可以查看可执行程序,比如:

root@forlinx:~# ldd /bin/mv
linux-gate.so.1 =>  (0x00c7b000)
libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0x00136000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0x00ada000)
libacl.so.1 => /lib/i386-linux-gnu/libacl.so.1 (0x00fac000)
libattr.so.1 => /lib/i386-linux-gnu/libattr.so.1 (0x005ae000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x00151000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0x006b1000)
/lib/ld-linux.so.2 (0x00578000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0x00302000)
root@forlinx:~#

也可以查看动态库 比如:

root@forlinx:~# ldd /lib/libcrypto.so.0.9.8 
linux-gate.so.1 =>  (0x00a88000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0x00d04000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0x001b9000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x001ce000)
/lib/ld-linux.so.2 (0x00886000)


查看嵌入式平台上,交叉编译好的可执行程序,或者库文件的相关依赖

在PC Linux上执行命令:arm-linux-readelf  -a "your binary" | grep "Shared"

例如查看二进制可执行文件:
root@forlinx:~# arm-linux-readelf  -a "/mnt/Linux/FileSystem-Yaffs2/bin/ls" | grep "Shared"
 0x00000001 (NEEDED)                     Shared library: [libm.so.6]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]

查看动态库文件:

root@forlinx:~# arm-linux-readelf  -a "/mnt/Linux/FileSystem-Yaffs2/lib/libresolv.so.2" | grep "Shared"
  Type:                              DYN (Shared object file)
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
root@forlinx:~# 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值