Директивы компилятора: различия между версиями
MZ (обсуждение | вклад) |
MZ (обсуждение | вклад) |
||
Строка 8: | Строка 8: | ||
'''{$undef <идентификатор>}''' - Исключение имени, используется для отмены действия директивы $define. | '''{$undef <идентификатор>}''' - Исключение имени, используется для отмены действия директивы $define. | ||
'''{$ifdef < | '''{$ifdef <идентификатор>}''' - Начало блока условной компиляции (проверяется условие: "идентификатор определен"). | ||
'''{$ifndef < | '''{$ifndef <идентификатор>}''' - Начало блока условной компиляции (проверяется условие: "идентификатор не определен"). | ||
'''{$else}''' - Директива "иначе" в блоке условной компиляции. | '''{$else}''' - Директива "иначе" в блоке условной компиляции. | ||
Строка 16: | Строка 16: | ||
'''{$endif}''' - Завершение блока условной компиляции. | '''{$endif}''' - Завершение блока условной компиляции. | ||
Директивы $ifdef, $ifndef совместно с директивами $else и $endif управлют условной компиляцией частей исходного файла. Каждой директиве $ifdef, $ifndef должна соответствовать завершающая ее директива $endif. Между директивами $ifdef, $ifndef и $endif допускается произвольное количество блоков условной компиляции (в том числе вложенных) и не более одной директивы $else. | Директивы '''$ifdef''', '''$ifndef''' совместно с директивами '''$else''' и '''$endif''' управлют условной компиляцией частей исходного файла. Каждой директиве '''$ifdef''', '''$ifndef''' должна соответствовать завершающая ее директива '''$endif'''. Между директивами '''$ifdef''', '''$ifndef''' и '''$endif''' допускается произвольное количество блоков условной компиляции (в том числе вложенных) и не более одной директивы '''$else'''. | ||
'''{$apptype <тип приложения>}''' - Задание типа приложения. | '''{$apptype <тип приложения>}''' - Задание типа приложения. | ||
'''{$reference <имя | '''{$reference <имя файла>}''' - Подключение библиотеки. | ||
== Пример программы с использованием директив компилятора == | == Пример программы с использованием директив компилятора == |
Версия от 21:23, 20 мая 2009
Основные директивы, обрабатываемые препроцессором
{$include <имя файла>} - Включение в текст программы содержимого указанного файла.
{$define <идентификатор>} - Определение имени, используемого в директивах $ifdef, $ifndef.
{$undef <идентификатор>} - Исключение имени, используется для отмены действия директивы $define.
{$ifdef <идентификатор>} - Начало блока условной компиляции (проверяется условие: "идентификатор определен").
{$ifndef <идентификатор>} - Начало блока условной компиляции (проверяется условие: "идентификатор не определен").
{$else} - Директива "иначе" в блоке условной компиляции.
{$endif} - Завершение блока условной компиляции.
Директивы $ifdef, $ifndef совместно с директивами $else и $endif управлют условной компиляцией частей исходного файла. Каждой директиве $ifdef, $ifndef должна соответствовать завершающая ее директива $endif. Между директивами $ifdef, $ifndef и $endif допускается произвольное количество блоков условной компиляции (в том числе вложенных) и не более одной директивы $else.
{$apptype <тип приложения>} - Задание типа приложения.
{$reference <имя файла>} - Подключение библиотеки.
Пример программы с использованием директив компилятора
{$apptype console} {$reference library.dll} {$define DEBUG} begin {$ifdef DEBUG} {$ifndef DEBUG} write('Имя DEBUG не определено'); {$else} writeln('Имя DEBUG определено'); {$endif} {$endif} {$include test.pas} end.