dポイントプレゼントキャンペーン実施中!

cc -o sample sample.c
cc -o sample sample.o
この2つってどーゆー意味ですか?

A 回答 (3件)

cc -o sample sample.c


ソースプログラム sample.c をコンパイルし (ここで、いったんオブジェクト
モジュール sample.o が生成されます) 、標準ライブラリとリンク (結合) して
実行可能モジュール sample を生成します。

cc -o sample sample.o
コンパイル済みオブジェクトモジュール sample.o を標準ライブラリとリンクして
実行可能モジュール sample を生成します。

sample.o には、sample.c に書かれていたプログラムの機械語しか入っていません。
printf などの関数が機械語されたものは、標準ライブラリ (これもオブジェクト
モジュール) に入っています。
sample.o と標準ライブラリをリンクして、はじめて main 関数から
実行がはじまるプログラム (実行可能モジュール) となります。

まあ、細かいことを言えば、普通は実行時に共有ライブラリと動的に結合される
のですが。
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2017/07/18 19:48

>cc -o sample


出力ファイル名(実行可能プログラム)を指定します。

>cc -o sample sample.c
C言語のソースファイルをコンパイルして、実行プログラムを作成します
#'-o sample'を省略した場合は、a.out(UNIX/Linux のccまたはgccの場合)

cc -c sample.c でソースファイルをコンパイルのみして sample.o を
作成します(オブジェクトファイル)。
#大きなプログラムを作成する時に、ソースファイルを複数に分ける時に
#個別にコンパイルして、後でリンクして一つの実行ファイルにします。

>cc -o sample sample.o
sample.oをリンクして実行プログラムを作成します。
#cc -o sample sample.o sample2.o sample3.o の様にして複数の
#オブジェクトファイルから一つの実行プログラムを作成します。
    • good
    • 0
この回答へのお礼

ありがとうございます!!

お礼日時:2017/07/18 19:48

マニュアルを読め

    • good
    • 0
この回答へのお礼

読んでもよくわかんねーっす

お礼日時:2017/07/16 00:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!