预处理表达式可以出现在 #if 和 #elif 指令中。在预处理表达式中允许使用 !、==、!=、&& 和 || 运算符,并且可以使用括号进行分组。
-
pp-expression:(pp 表达式:)
- whitespaceopt pp-or-expression whitespaceopt(空白可选 pp 或表达式 空白可选) pp-or-expression:(pp 或表达式:)
-
pp-and-expression(pp 与表达式)
pp-or-expression whitespaceopt || whitespaceopt pp-and-expression(pp 或表达式 空白 可选 || 空白 可选 pp 与表达式)
pp-and-expression:(pp 与表达式:)
-
pp-equality-expression(pp 相等表达式)
pp-and-expression whitespaceopt && whitespaceopt pp-equality-expression(pp 与表达式 空白 可选 && 空白 可选 pp 相等表达式)
pp-equality-expression:(pp 相等表达式:)
-
pp-unary-expression(pp 一元表达式)
pp-equality-expression whitespaceopt == whitespaceopt pp-unary-expression(pp 相等表达式 空白 可选 == 空白 可选 pp 一元表达式)
pp-equality-expression whitespaceopt != whitespaceopt pp-unary-expression(pp 相等表达式 空白 可选 != 空白 可选 pp 一元表达式)
pp-unary-expression:(pp 一元表达式:)
-
pp-primary-expression(pp 基本表达式)
! whitespaceopt pp-unary-expression(! 空白 可选 pp 一元表达式)
pp-primary-expression:(pp 基本表达式:)
-
true
false
conditional-symbol(条件符号)
( whitespaceopt pp-expression whitespaceopt )((空白 可选 pp 表达式 空白 可选 ))
当在预处理表达式中引用时,已定义的条件编译符号具有布尔值 true,未定义的条件编译符号具有布尔值 false。
预处理表达式的计算总是产生一个布尔值。预处理表达式的计算规则与常数表达式(第 7.15 节)相同,唯一的例外是:在这里,唯一可引用的用户定义实体是条件编译符号。
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8781179/viewspace-924539/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8781179/viewspace-924539/
本文详细介绍了预处理表达式在预编译中的使用方法,包括允许使用的运算符、表达式的构成规则及其计算方式。文中还解释了条件编译符号如何在预处理表达式中起到作用。
1366

被折叠的 条评论
为什么被折叠?



