使用GCC编译程序时,编译过程可以被学细分为四个阶段:
预处理,编译,汇编,链接。
GCC通过后缀来区别输入文件的类别
.c为后缀的文件:C语言源代码文件
.a为后缀的文件:是由目标文件构成的库文件
.C,.cc 或 .cxx为后缀的文件:是C++源代码文件
.h为后缀的文件:头文件
.i为后缀的文件:是已经预处理过的C源代码文件
.ii为后缀的文件:是已经预处理过的C++源代码文件
.o为后缀的文件:是编译后的目标文件
.s为后缀的文件:是汇编语言源代码文件
.S为后缀的文件:是经过预编译的汇编语言源代码文件。
gcc最基本的用法是: gcc [option] [filename]
options:编译器所需要的编译选项 filename:要编译的文件名
编译选项:
-o output_filename:将编译生成的文件命名为output_filename。如果没有则默认为a.out
-c:对在命令行中指定的源代码文件只编译不连接,为每个源文件构建一个目标文件。
-g,-ggdb:包括调试信息。-g选项指示gcc在编译和链接时包含标准的调试信息。-ggdb选项指示gcc包括大量的,只有gdb调试器才能理解的信息。