在这种特殊情况下,我试图发现mylib.a文件是32位还是64位兼容.我熟悉ldd的共享对象(mylib.so)但是如何检查常规.a存档?
"nm"和"ar"将为您提供有关库存档的一些信息.
$ objdump -G /usr/lib/libz.a In archive /usr/lib/libz.a: adler32.o: file format elf32-i386 ... $ objdump -G /usr/lib64/libz.a In archive /usr/lib64/libz.a: adler32.o: file format elf64-x86-64 ... $ objdump -G /ppc-image/usr/lib/libz.a In archive /ppc-image/usr/lib/libz.a: adler32.o: file format elf32-powerpc ...
需要一个支持multilib的binutils
,但它非常简单,不是吗?
标准的“ nm”和“ ar”实用程序将为您提供有关存档的信息。
要了解档案的32/64位功能,请使用“ ar”提取mylib.a中的.o文件,然后在.o文件上运行“ file”以发现其类型,包括32/64位的用法。