Макровыражения
При определении макросов с помощью Команда 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"