Makefile 前置處理運算子
DEFINED 運算子是會影響巨集名稱的邏輯運算子。 如果定義了 macroname,運算式 DEFINED (macroname) 會為 true。 DEFINED 與 !IF 或 !ELSE IF 一起使用時,結果會相當於 !IFDEF 或 !ELSE IFDEF。 不過,DEFINED 與這些指示詞不同,因為它可以在使用二元邏輯運算子的複雜運算式中使用。
EXIST 運算子是會影響檔案系統路徑的邏輯運算子。 如果有 path,EXIST (path) 會為 True。 得自 EXIST 的結果可以使用於二進位運算式。 如果 path 包含空格,請將它放置在雙引號內。
整數常數可以使用一元 (Unary) 運算子,進行數值負運算 (–)、一進位補數 (~) 以及邏輯負運算 (!)。
常數運算式可以使用下列的二元運算子。
運算子 |
描述 |
運算子 |
描述 |
---|---|---|---|
+ |
加入 |
|| |
邏輯 OR |
– |
減法 |
<< |
左移 |
* |
乘法 |
>> |
右移 |
/ |
除法 |
== |
相等 |
% |
模數 |
!= |
不等於 |
& |
位元 AND |
< |
小於 |
| |
位元 OR |
> |
大於 |
^ |
位元 XOR |
<= |
小於或等於 |
&& |
邏輯 AND |
>= |
大於或等於 |
若要比較兩個字串,請使用相等 (==) 運算子和不等 (!=) 運算子。 請將字串放在雙引號內。