UNIX / Linuxシステムで、mylib.aアーカイブの詳細を知るにはどうすればよいですか?
質問
この特定のケースでは、mylib.aファイルの互換性が32ビットか64ビットかを発見しようとしています。私は共有オブジェクト(mylib.so)のlddに精通していますが、通常の.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ファイルを抽出し、" file"を実行します。 .oファイルで32/64ビットの使用法などのタイプを検出します。
一般的なケースでは、「ファイル」ユーティリティを使用します。
所属していません StackOverflow