生成文件预处理运算符

生成文件预处理表达式可以使用在常数值操作的运算符,命令的退出、字符串、宏和文件系统路径的代码。若要计算该表达式,预处理器首先扩展宏,然后执行命令,然后执行操作。操作计算按显式括号内,然后分组的顺序按运算符的优先级顺序。结果是一个常数值。

DEFINED 运算符是宏名称上使用的逻辑运算符。该表达式 DEFINED(macroname) 为 true,则 macroname 定义,因此,即使它没有已分配的值。与 !IF 或 !ELSE IF 的组合DEFINED 与 !IFDEF 或 !ELSE IFDEF等效。但是,与这些指令,DEFINED 可用于复杂的表达式。

EXIST 运算符是文件系统路径上使用的逻辑运算符。如果 路径 存在,EXIST(路径) 为 true。从 EXIST 的结果可用于二进制表达式。如果 path 包含空格,则用双引号将它引起来。

若要比较两个字符串,请使用相等 (==) 运算符或不等运算符 (!=) 运算符。用双引号将字符串引起来。

整型常数可以为数字求反 (–),您的求补 (~) 和逻辑求反 (!) 使用一元运算符。

表达式可以使用下列运算符。组织成组等于优先级的运算符,并且组列表按优先级的顺序。一元运算符与该操作的右侧。等于优先级的一元运算符从左至右关联操作。

运算符

描述

DEFINED(macroname)

导致 macroname当前定义状态的逻辑值。

EXIST(path)

生成文件中存在的逻辑值。路径。

!

二元逻辑 NOT。

~

一元"的补充。

-

一元求反。

*

乘法。

/

除法。

%

modulo (余数)。

+

加法。

-

减法。

<<

按位"转换左侧。

>>

按位"转换。

<=

小于或等于。

>=

大于或等于。

<

小于。

>

大于。

==

相等。

!=

不相等。

&

按位"与"。

^

按位"异或"。

|

按位或。

&&

逻辑与。

||

逻辑或。

说明说明

按位"异或"运算符 (^) 与转义字符相同,并且必须进行转义为 ^^),而在表达式时。

请参见

概念

生成文件预处理中的表达式