回答受付が終了しました

プログラムをコンパイルする際に、「コンパイルする」という言葉で、リンクもされ実行ファイルが作られます。(gcc main.c)

C言語関連37閲覧

回答(5件)

0

ソースファイルが一個しかなければ表面化しませんが ソースファイルを複数とし、分割コンパイルを行う時にはこうなります 例: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 では残りません(削除されるのか?はたまたファイルを作らずメモリ上で受け渡しするのか?)

0

面倒だから、省略しているだけだと思います。

0

それは「その総合開発環境がそう称しているだけ」です。 モノによってはあなたの言ったことを「ビルド」と称し、「コンパイル」と明確に区別していますよ。

0

実際にはコンパイル後リンクする作業を行います。最近のプログラミングでは、フレームワーク等の便利なプログラムが豊富で、コンパイルしておいて、後でリンクだけを単独でする行為が激減しているので、リンク(リンカとも言います)と言う言葉を使う場面が減った為と推測します。

1

厳密に言えば、コンパイルすると、リンクするは、別ですし、リンクするとも言います。 でも、大抵一緒にやってしまうので、意識しないだけではないかと。

1人がナイス!しています