预处理器指令

预处理器指令(如 #define 和 #ifdef)通常用于简化源程序在不同的执行环境中的更改和编译。 源文件中的指令告知预处理器执行特定操作。 例如,预处理器可以替换文本中的标记,将其他文件的内容插入源文件,或通过移除几个部分的文本来取消一部分文件的编译。 在扩展宏之前,将识别并执行预处理器行。 因此,如果宏扩展到类似于预处理器命令的内容,该预处理器无法识别此命令。

预处理器语句使用的字符集与源文件语句的相同,只不过转义序列不受支持。 预处理器语句中使用的字符集与执行字符集相同。 预处理器还可识别负字符值。

预处理器可识别下列指令:

#define

#error

#import

#undef

#elif

#if

#include

#using

#else

#ifdef

#line

#endif

#ifndef

#pragma

 

数字符号 (#) 必须是包含指令的行上的第一个非空白字符;空白字符可能出现在数字符号与指令的第一个字母之间。 某些指令包含参数或值。 所有跟在指令后面(指令包含的参数或值除外)的文本的前面必须有单行注释分隔符 (//) 或者必须括在注释分隔符 (/* */) 中。 包含预处理器指令的行可以通过紧靠在结束行标记前放置反斜杠 (\) 继续。

预处理器指令可以出现在源文件中的任何位置,但是它们仅应用于源文件的剩余部分。

请参见

参考

预处理器运算符

预定义的宏

其他资源

C/C++ 预处理器参考