C言語のソースファイルから,実行ファイルが作られるまでには複雑なステップがある.
図1に示すように,大まかに4つのステップがある;プリプロセス,
コンパイル,アセンブル,リンクである.
gccの場合,適当なオプションを付けると処理を途中で終了させることができる
[2].図1の左側に書いてあるgccのオプション
を次のように使うことにより,gccの途中の出力を見ることができる.ここでは,ソース
ファイルをhoge.cとしている.
- ソースファイルはプリプロセッサーにより書き換えられる.書き換えたファイル
を見る場合,コマンド「gcc -E hoge.c > hoge.i」とする.すると書き
換えられた,テキストファイルhoge.iができる.
- C言語のソースプログラムは,一度アセンブラ言語2に変換される.コマンドgcc -S hoge.cとすればアセンブラ言語
のファイルhoge.sができる.
- アセンブラ言語を機械語に変換する作業をアセンブルと言う.コマンドgcc
-c hoge.cとすれば機械語のオブジェクトファイル3であるhoge.oができる.
- 最後にそのた必要なファイルをリンク--ファイルをくっつける--して実行ファ
イルができる.-oオプションが無いとa.outとという機械語のファイルができる.
コマンドは,「gcc hoge.c」である.
図 1:
gccが実行ファイルをつくるプロセス.左側に示すようにオプション付きで処
理をすると,途中までの結果が得られる.
|
ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成19年11月6日