程序代码到可执行程序编译链接过程预编译以c++/c语言为例,预编译阶段的工作有以下几点:处理所有#define及条件预编译指令(如#if,#ifdef.....),并展开所有宏定义。删除所有注释("//","/**/")。处理"#include",将被包含文件插入该预编译指令位置。(整过过程递归进行,因为被包含文件也可能包含其他文件)添加行号与文件标识。(用于调试时产生的编译错误及报错等信息)预编译过程相当于如下命令:gcc-Ehello.c-ohello.i(-E表示只进行预编译)或者cpphello.c>hello.i编译编译过程可以分为如下步骤:扫描词法分析 运用一种类似于有限状态机的