path: Главная\Статьи\Директивы компилятора


язык: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



Rambler's Top100 Rambler's Top100 MAFIA's Top100