1.1 Введение |
Вверх Предыдущий Следующий |
Free Pascal поддерживает директивы компилятора в исходном файле: в основном это те же самые директивы, что и в Turbo Pascal, Delphi и компиляторах Pascal для операционных систем Макинтош. Некоторые директивы распознаются только для совместимости и не имеют какого-либо эффекта. Директивы компиляции всегда пишутся в фигурных скобках: {$DIRECTIVE [value]} Не должны использоваться скобки (* *) или // для директив компиляции, также не могут использоваться С++ обозначения. То что директива пишется как комментарий означает, что это не инструкция Pascal. Это значит что если указать несуществующую директиву, то это не приведёт к ошибке, компилятор просто дает предупреждение о недопустимой/неизвестной директиве. Имеются различия между глобальными и локальными директивами: •Локальные директивы эффективны с того момента, когда они встречаются в тексте и до того момента, когда они будут заменены другой директивой или такой же директивой с другими параметрами. Локальные директивы могут использоваться более одного раза в исходном файле. •Глобальные директивы действуют на весь компилируемый код. Они могут быть указаны только один раз для исходного файла. Это также означает, что действие директивы заканчивается, когда текущий модуль откомпилирован. Действие глобальной директивы не распространяется на другие модули. Некоторые директивы могут принимать только логические значения: знак «+» включает директиву, знак «-» отключает директиву. Такие директивы также называют переключателями. Многие переключатели также имеют короткую и длинную форму записи. В таких случаях приводятся обе формы записи (как короткая, так и длинная). Для длинной формы записи знаки «+» и «-» могут быть заменены ключевыми словами ON и OFF соответственно. Таким образом, запись {$I+} эквивалентна записи {$IOCHECKS ON} или {$IOCHECKS +}, а {$C-} эквивалентна записи {$ASSERTIONS OFF} или {$ASSERTIONS -}. Длинные формы переключателей являются такими же, как и их двойники в Delphi. |