中間ファイルの生成を表示するためにさまざまなオプションをコンパイルするgccのを使用

全体の流れGCCコンパイラプログラムC以下に示すように

次のコマンドを使用します。

  1. .C ---> .I
GCCの-Eのhello.c
  1. .C --->。S
GCC -Sのhello.cで
  1. .C --->。O
gccの-cのhello.c
  1. .C --->。アウト
GCCのhello.c
  1. .oを逆アセンブル
objdumpの-d hello.o

次の例は、でお見せ

最初のhello.cとhello.hを作成

そして、最初のコマンドのgcc -Eのhello.cでの使用

特に大きなファイルの前処理の内容、スクリーンショットの一部のみ。

そして、アセンブラファイルのgccの-Sのhello.cを見ます

あなたは、.Sファイルが生成されている見ることができ、コンテンツの多くは非常に複雑であります。

そして、コンパイルされたオブジェクトファイルのgcc -cのhello.c

対象のファイルがバイナリファイルなので、テキストエディタで表示することはできません。

実行可能ファイルのgccをリンクした後のhello.c

あなたはまた、objdumpの解体ツールの解体で見ることができますobjdumpの-d hello.o

(冗長な情報の多くを排除する)直接生成アセンブラコードより簡潔で読み取り可能に逆アセンブルコード

おすすめ

転載: www.cnblogs.com/zhaijiayu/p/11404294.html