对于为 编译的共享对象,使用选项ARM
调用,显示没有版本号的库,即readelf
-a
libc.so
me@home:~ $ readelf -a shared_object_for_arm | grep "Shared library"
Type: DYN (Shared object file)
0x00000001 (NEEDED) Shared library: [libc.so]
0x00000001 (NEEDED) Shared library: [libm.so]
0x00000001 (NEEDED) Shared library: [libGLESv1_CM.so]
0x00000001 (NEEDED) Shared library: [libz.so]
0x00000001 (NEEDED) Shared library: [liblog.so]
但是,当我对系统中的共享对象重复相同的操作时,会显示版本号。我也用于arm-linux-gnueabi-readlef
上述情况,但没有任何改变。我正在一个x86
系统中尝试这个。
me@home:~ $ readelf -a /usr/lib/libsnmp.so.15 | grep "Shared library"
Type: DYN (Shared object file)
0x00000001 (NEEDED) Shared library: [libcrypto.so.1.0.0]
0x00000001 (NEEDED) Shared library: [libc.so.6]
readelf
除了显示版本号还有其他方法吗?