Чтобы облегчить ваши задачи, Borland Pascal предлагает средство условной компиляции. Это означает, что можете компилировать части своей программы на основе параметров или определенных идентификаторов.
Условные директивы аналогичны по формату директивам компилятора, с которыми вы уже познакомились. Они имеют следующий формат:
{$директива аргумент}
где "директива" - это такая директива как DEFINE, IFDEF и т.д., а аргумент - необязательный аргумент. Между ними обязательно должен присутствовать разделитель (пробел или табуляция). Все условные директивы и их смысл приведены в таблице "Директивы условной компиляции".
Примечание: Полное описание директив условной компиляции можно найти в Главе 2 ("Директивы компилятора") "Справочного руководства программиста".
Директивы условной компиляцииДиректива | Описание | {$DEFINE идентификатор} | Определяет "идентификатор" для других директив. | {$UNDEF идентификатор} | Отменяет определение "идентификатора" | {$IFDEF идентификатор} | Компилирует следующий код, если определен "идентификатор". | {$IFNDEF идентификатор} | Компилирует следующий код, если "идентификатор" не определен. | {$IFOPT x+} | Компилирует следующий код, если разрешена директива x | {$IFOPT x-} | Компилирует следующий код, если запрещена директива x. | {ELSE} | Компилирует следующий код, если предыдущее выражение IFxxx не равно True. | {$ENDIF} | Отмечает конец блока IFxxx или ELSE. |
Директивы DEFINE и UNDEF
Директивы IFDEF и IFNDEF проверяют, определен ли заданный идентификатор. Эти идентификаторы определяются с помощью DEFINE и UNDEF. (Можно также определять идентификаторы в командной строке или в IDE.)
Чтобы определить идентификатор, включите в программу следующую директиву:
{$DEFINE идентификатор}
где "идентификатор" в плане длины, разрешенных символов и других спецификаций подчиняется обычным правилам для имен идентификаторов. Например, вы можете записать:
{$DEFINE debug}
Этим для остальной части компилируемого модуля или до следующего оператора:
{$UNDEF debug}
определяется идентификатор debug.
Директива UNDEF "разопределяет" идентификатор. Если идентификатор не определен, то она не действует.
Определение условных идентификаторов в IDE
Вместо того, чтобы вставлять директиву DEFINE в свой исходный код, вы можете также определить условные идентификаторы и блоке ввода Conditional Defines (Условные определения). Определите идентификаторы, введя их в блоке ввода и разделив точками запятой. Например, в следующем примере определяются два условных идентификатора - TestCode и DebugCode:
TestCode:DebugCode
1 2
8 8 8
| |