UNIX / Linuxシステムで、mylib.aアーカイブの詳細を知るにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/184502

  •  06-07-2019
  •  | 
  •  

質問

この特定のケースでは、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ビットの使用法などのタイプを検出します。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top