预处理器指令

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

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

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

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

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

另请参阅

预处理器运算符
预定义宏
C/C++ 预处理器参考