静的ライブラリがあります。たとえば、mystaticlib.a
。内部のオブジェクトファイルの数など、その内容を確認したい。
Gccでこれを行うにはどうすればよいですか?
Gccでは、ar -t
を使用します。
gnu archiver(ar) の-t
オプションは、アーカイブの目次を標準出力に書き込みます。 fileオペランドで指定されたファイルのみが記述リストに含まれます。ファイルオペランドが指定されていない場合、アーカイブ内のすべてのファイルはアーカイブの順序で含まれます。
詳細はこちら 。
nm
を使用して、内容(その中に入った.oファイル)および定義されたシンボルを表示できます。これにC++コードが含まれている場合は、-C
オプションを使用してシンボル名をデマングルする必要があります。
nm -C libschnoeck.a | less
Macでは、単に使用します
nm libschnoeck.a | less
NmのMacバージョンには-C
オプションはありません。
上記の答えはすべて正しいです。 「nm」コマンドの詳細については、URLを提供しています。
下記のウェブサイトを参照できます。
これにつまずいただけです:
7Zipでアーカイブ(.a)を開くことができます。アーカイブ内のオブジェクトファイルに対しても機能します。 _.text, .bss, .data,
_などのすべての種類のコンテンツを_offset, length, type,
_でリストします...さらに、16進エディターまたはnotepad ++を使用してコンテンツを表示し、すべてをアンパックできます。 _GNUToolsARMEmbedded\2018-q4-major\bin\arm-none-eabi-
_ Toolchainと7Zip 16.04 (64-bit)
で作成されたアーカイブでこれをテストしました