Edited at

C言語のソースコードが実行可能になるまでの流れ

More than 1 year has passed since last update.

全体の流れ


  • プリプロセス

  • コンパイル

  • アセンブル

  • リンク


プリプロセス

プリプロセスとは、マクロの展開や #include や #ifdef などのディレクティブの処理が行われることを指す。

ソースファイルのプリプロセス後のソースを見るには以下のコマンドを使う。

$ gcc -E code.c


コンパイル

プリプロセス後、アセンブリ(GAS記法)に変換

アセンブル後のファイルを見るには、

$ gcc -S code.c

あるいは、プリプロセス後のファイルからアセンブルするには、

$ gcc -E code.c > preprocess.c

$ gcc -S preprocess.c

でも構わない。


アセンブル

アセンブラソースからオブジェクトファイルを生成。

$ as -o code.o code.s


リンク

必要なライブラリとの結合を行い、実行可能な形式のファイルを生成する。

$ gcc -o code code.o

あとは、

$ ./code

で実行可能となる。


参考 http://aoking.hatenablog.jp/entry/20121109/1352457273