язык: | Turbo Pascal |
Директивы компилятора - это комментарии со специальным синтаксисом. Они могут использоваться везде, где разрешены комментарии.
Директивы компилятора
::: Начинаются со знаков "{$" или "(*$"
::: Сопровождаются именем директивы
::: Заканчиваются знаками "}" или "*)"
Директивы компилятора делятся на три класса:
::: Переключатели - Включают и выключают возможности компилятора, когда вы ставите знак "+" или "-" после имени директивы.
::: Параметры - Определяют параметры, которые воздействуют на компиляцию.
::: Условные директивы - Управляют условной компиляцией частей исходного текста.
:.: Переключатели :.:
Переключательные директивы включают и выключают возможности компилятора.
Они могут быть локальными или глобальными.
::: Локальные директивы могут находиться где-нибудь в теле программы. Они влияют только на часть компиляции.
::: Глобальные дирктивы должны находиться перед разделом описаний программы или модуля. Они влияют на всю компиляцию.
$A Align Data (Байтовое выравнивание) $B Boolean Evaluation (Булева оценка) $D Debug Information (Отладочная информация) $E Emulation (Эмуляция) $F Force FAR Calls (Дальний тип вызова) $G Generate 286 Instructions (Инструкции 286) $I Input/Output Checking (Проверка ввода/вывода) $K Smart Callbacks (Подпрограммы повторного вызова) $L Local Symbol Information (Информация о символах) $N Numeric Coprocessor (Числовой сопроцессор) $O Overlay Code Generation (Генерация оверлейного кода) $P Open string parameters (Открытые строковые параметры) $Q Overflow Checking (Проверка переполнения) $R Range Checking (Проверка диапазона) $S Stack-Overflow Checking (Проверка переполнения стека) $T Type-Checked Pointers (Проверка типов указателей) $V Var-String Checking (Проверка строковых параметров) $W Windows Stack Frame (Область стека Windows) $X Extended Syntax (Расширенный синтаксис) $Y Symbol Reference Information (Информация о символах)
Вы можете группировать несколько переключателей, разделяя их запятыми. Например:
{$F+, $R+, $E-, $D-}
Подробное описание каждой дерективы этого раздела: от $A до $G, от $I до $Q и от $R до $Y.
Если Вы не нашли здесь нужной Вам дерективы смотрите следуещий раздел.
:.: Параметры :.:
Директивы параметров определяют параметры, которые влияют на компиляцию программы.
Директива Значение $C Атрибут Атрибут сегмента кода $D Текст Описание $I ИмяФайла Файл для включения $G ИмяМодуля Группа модулей в сегменте $L ИмяФайла Компоновать объектный файл $M Стек, Куча Размеры распределения памяти $O ИмяМодуля Имя оверлейного модуля $R ИмяФайла Файл с ресурсами $S РазмерСегмента Размер сегмента
Между именем директивы и параметрами должен находиться хотя бы один пробел. Например:
{$I TYPES.INC}
{$O MYUNIT}
:.: Директивы и символы условной компиляции :.:
Условная компиляция основана на оценке условных символов.
Директива Значение DEFINE Определяет условный символ ELSE Компилирует или пропускает часть текста ENDIF Окончание блока условной компиляции IFDEF Компилирует часть текста, если определен условный символ IFNDEF Компилирует часть текста, если не определен условный символ IFOPT Компилирует часть текста, если переключатель установлен в указанное состояние (+ или -) UNDEF Снимает определение условного символа Символ Значение CPU86 Процессор принадлежит семье 80x86 CPU87 Присутствует ли сопроцессор 80x87 во время компиляции DPMI Указывает, что компиляция идет в защищенном режиме DOS MSDOS Указывает, что компиляция идет в реальном режиме DOS VER70 Номер версии Turbo Pascal WINDOWS Указывает, что компиляция идет в среде Windows