私はGCCコンパイラとGeany(違いがあればArch Linux)でCを学んでいます。ただし、Geanyとインターネットの両方で、コンパイルとビルドという言葉が同じ意味で使用されているのを目にしています。グーグルで混乱しているだけなので、コンパイルプロセスを理解する方法が正しいことを明確にしてほしいと思います。
単純なhelloworld.cファイルを作成するとします。
#include <stdio.h>
int main(void)
{
printf("Hello world!");
return 0;
}
を実行するgcc -c helloworld.c
と、コンパイラはhelloworld.oオブジェクトファイルを生成します。Geanyはこのプロセスをコンパイルと呼び、コンパイラはCompilation finished successfully.
ここで、を実行するgcc -o helloworld helloworld.c
と、コンパイラはという実行可能ファイルを生成し、helloworld
Geanyはそれをbuildingと呼びます。しかし、コンパイラは再び言いますCompilation finished successfully.
-cオプションを使用するとオブジェクトファイルが生成され、これらの複数をライブラリとリンクして実行可能ファイルを生成できることは理解していますが、どのシナリオがコンパイルで、どのシナリオがビルドされているかについて混乱しています。
さらに、プロジェクトに1つのhelloworld.cファイルなどのソースファイルが1つしかない場合gcc -o helloworld helloworld.c
、ソースコードを実行可能ファイルに変換するのに十分ですか?
ありがとう