質問: プログラムをコンパイルする際に、「コンパイルする」という言葉で、リンクもされ実行ファイルが作られます。(gcc main.c)
回答: ソースファイルが一個しかなければ表面化しませんが ソースファイルを複数とし、分割コンパイルを行う時にはこうなります 例:gcc main.c sub0.c sub2.c sub3.c -o myProgram まずソースファイル main.c, sub0.c, sub2.c ,,, がそれぞれコンパイルされ リロケータブルオブジェクト main.o, sub0.o, sub2.o ,,, が出来ます その後、リロケータブルオブジェクト main.o, sub0.o, sub2.o ,,, をリンクして 実行プログラムのファイル myProgram が出来ます → 分割でなきゃ main.*だけが現れる 「リロケータブルオブジェクトをリンクする」とは言いますが 「プログラムをリンクする」という文は聞いたことが有りません 追記:gcc に --save-temps というオプションを付けると *.o その他がファイルとして残りますが、default では残りません(削除されるのか?はたまたファイルを作らずメモリ上で受け渡しするのか?)