上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
6.1 预处理命令
简单来说,预处理就是对源文件进行编译前,先对预处理部分进行处理,然后对处理后的代码进行编译。这样做的好处是,经过处理后的代码,将会变得很精短。为让用户更好地使用预处理,C++提供了丰富的预处理命令,主要包括如下几种:#define、/#error、#if、#else、#elif、#endif、#ifdef、#ifndef、#undef、#line和#pragma。
从上述命令读者可以看出,每个预处理指令均带有符号“#”。简单来说,上面的这些预处理命令可以划分为文件包含、条件编译、布局控制和宏替换4个大类:
●文件包含(#include)是一种最为常见的预处理,主要是作为文件的引用组合源程序正文。
●条件编译(#if,#ifndef,#ifdef,#endif,#undef等)也是比较常见的预处理,主要是进行编译时进行有选择的挑选,注释掉一些指定的代码,以达到版本控制、防止对文件重复包含的功能。
●布局控制(#progma)也是应用预处理的一个重要方面,主要功能是为编译程序提供非常规的控制流信息。
●宏替换(#define)是最常见的用法,其可以实现定义符号常量、函数功能、重新命名、字符串的拼接等各种功能。