最終更新:2021-01-22 (金) 15:48:34 (37d)  

GCC/処理
Top / GCC / 処理

順序

GCC/プリプロセッサ?

GCC/コンパイル

GCC/リンク

  • リンクは、オプション -c, -S, -E を指定して抑制しないかぎり(もしくはコンパイルエラーによってすべての処理が中断 しないかぎり)、常に最終ステージで実行されます。
  • リンクのステージにおいては、ソースファイルに対応した全ての .o ファイルと、 -l で指定したライブラリと、認識されなかったファイル名 (名前に .o のついたオブジェクトファイルや .a のついたアーカイブを含む) は、 コマンドラインに並べられた順番でリンカに渡されます。

メモ

  • gccに.cとコンパイル済みの.oを渡すことができる

静的ライブラリ(.a)を作る

  • ar -r lib<なんとか>.a <いれる.o>

メモ

  • gcc -c: ソースファイルを、コンパイルまたはアセンブルまではしますが、リンクはしません
  • gcc -S: コンパイルが終った所で処理を停止し、アセンブルは行いません。
  • gcc -E: プリプロセス処理が終了したところで停止します