1、概念:在编译源程序之前,对代码进行分隔或者处理为特定的符号,并不对源代码进行解析的过程。
2、预处理的分类:
(1)文件包含:使用命令#include,是一种最常见的预处理,主要是作为文件的引用组合源程序正文;
(2)条件编译:使用命令#if,#ifndef,#ifdef,#endif,#undef等命令。条件编译主要是在进行编译时进行有选择的挑选,注释掉一些指定的代码,以达到版本控制、防止对文件进行重复包含的功能;
(3)布局控制:使用命令#progma,主要为编译程序提供非常规的控制流信息;
(4)宏替换:使用#define,可以定义符号常量、函数功能、重载新命名、字符串的拼接等各种功能。
3、预处理的特点:
(1)作为标志,左边以#开头;
(2)一般独占一行;
(3)预处理不是编译语句,所以不加分号;
(3)在正常编译过程之前作为预备动作执行,编译过程结束后不占用存储空间。