6

この特定のケースでは、mylib.aファイルが32ビットまたは64ビットの互換性があるかどうかを調べようとしています。共有オブジェクト(mylib.so)のlddに精通していますが、通常の.aアーカイブを検査するにはどうすればよいですか?

4

4 に答える 4

12

「nm」と「ar」は、ライブラリアーカイブに関する情報を提供します。

于 2008-10-08T19:43:49.653 に答える
8
$ objdump -G /usr/lib/libz.a
アーカイブ /usr/lib/libz.a:

adler32.o: ファイル形式 elf32-i386

...

$ objdump -G /usr/lib64/libz.a
アーカイブ /usr/lib64/libz.a:

adler32.o: ファイル形式 elf64-x86-64

...

$ objdump -G /ppc-image/usr/lib/libz.a
アーカイブ /ppc-image/usr/lib/libz.a:

adler32.o: ファイル形式 elf32-powerpc

...

multilib-capable が必要ですがbinutils、かなり簡単ですね。

于 2008-10-08T20:04:15.163 に答える
5

標準の「nm」および「ar」ユーティリティは、アーカイブに関する情報を提供します。

アーカイブの 32/64 ビット機能について知るには、「ar」を使用して mylib.a 内の .o ファイルを抽出し、.o ファイルで「file」を実行して、32/64 ビットの使用を含むタイプを検出します。

于 2008-10-08T19:52:29.243 に答える
0

一般的なケースでは、「ファイル」ユーティリティを使用します。

于 2008-10-08T19:49:17.770 に答える