Макровыражения
При определении макросов с помощью Команда define и в Команда ifdef можно использовать простейшие выражения с константами и макросами. Операнды должны иметь одинаковый тип, за исключением логических операций && и ||. Возможно использование круглых скобок для указания порядка вычисления выражения.
Операция | Типы операндов | Тип результата |
Арифметические | ||
+ | int uint long ulong float double | int uint long ulong float double |
- | int uint long ulong float double | int uint long ulong float double |
* | int uint long ulong float double | int uint long ulong float double |
/ | int uint long ulong float double | int uint long ulong float double |
Битовые | ||
& | int uint long ulong | int uint long ulong |
| | int uint long ulong | int uint long ulong |
^ | int uint long ulong | int uint long ulong |
Логические | ||
&& | int uint long ulong float double str(1 если размер >0) buf(1 если размер >0) | int uint |
|| | int uint long ulong float double str(1 если размер >0) buf(1 если размер >0) | int uint |
Операции сравнения | ||
== | int uint long ulong float double str buf | int uint |
!= | int uint long ulong float double str buf | int uint |
>= | int uint long ulong float double | int uint |
<= | int uint long ulong float double | int uint |
> | int uint long ulong float double | int uint |
< | int uint long ulong float double | int uint |
Унарные операции | ||
+ | int uint long ulong float double | int uint long ulong float double |
- | int uint long ulong float double | int long float double |
~ | int uint long ulong | int uint long ulong |
! | int uint long ulong float double str(1 если размер >0) buf(1 если размер >0) | int uint |
7 + $YEAR - 2000
2.3 * ( VAL1 - $VAL0 / 2.0 )
$VALFLAG | 0xff00
$MODE1 || ( $MODE2 == 3 && $COMPILE == "WINDOWS" )
$PROGNAME != "My Application" && $PROG != "Debug"