1.C++的编译过程
a.预处理[.c --- .i]
预处理是编译器对文件的第一次处理,处理的是预处理命令,C++提供的预处理命令分为三种:文件包含,宏定义,条件编译。
文件包含:形式为 [#inlude "filename"] 包含了自己所写文件 或 [#include < filename >]这种一般包含的是头文件。
宏定义:一般为[#define XXX XXXX]用来定义一个常量,这样做的好处在于提高了代码的通用性。[#undef]用来终止所定义常量的作用域
条件编译:对源程序满足一定条件才编译的代码段。
命令:gcc test.c -E -o test.i
b.编译[.i --- .s]
编译阶段,主要做词法分析,语法分析,语义分析,检查无误后,就会将其编译成为汇编语言,
命令:gcc test.i -S-o test.s
c.汇编[.s --- .o]
汇编阶段,将汇编语言格式的文件编译为机器码,
命令:gcc test.s -c-o test.o
d.链接
将二进制格式的文件编译为可执行的程序
命令:gcc test.o -o a.out