2.3. Переменные времени компиляции |
Вверх Предыдущий Следующий |
В режиме MacPas могут быть определены переменные времени компиляции. Они отличаются от идентификаторов тем, что могут иметь значение, а в отличие от макросов их нельзя использовать для замещения участков исходного кода их значением. Поведение этих переменных совместимо с поведением таких переменных с популярными компиляторами Pascal для Macintosh. Переменные времени компиляции объявляются подобным образом: {$SETC ident:= expression} Это так называемое выражение времени компиляции, которое вычисляется один раз в тот момент, когда директива {$SETC } обнаружена в исходном коде. Значение результата затем присваивается переменной времени компиляции. Вторая директива {$SETC } для той же переменной перезаписывает предыдущее значение. В отличие от макросов и идентификаторов, переменные времени компиляции, определённые в интерфейсной части модуля, являются экспортируемыми. Это означает, что их значения будут доступны в модулях, которые используют модуль где объявлена переменная. Для этого требуется, чтобы оба модуля компилировались в режиме macpas. Большое отличие между макросами и переменными времени компиляции заключается в том, что механизм замещения текста (подобно С ), который похож на обычный язык программирования, но доступен только для компилятора. В режиме MacPas переменные времени компиляции всегда включены. |