Директивы условной компиляции
Последний тип макросредств — директивы условной компиляции.
Существует два типа этих директив:
- позволяют проанализировать определенные условия в ходе генерации макрорасширения и, при необходимости, изменить этот процесс;
- также контролируют ход генерации макрорасширения с целью генерации или обнаружения определенных ситуаций, которые могут интерпретироваться как ошибочные.
С этими директивами применяются директивы управления процессом генерации макрорасширений EXITM и GOTO.
Директива EXITM не имеет операндов, и ее действие заключается в том, что она немедленно прекращает процесс генерации макрорасширения, начиная с того места, где она встретилась в макроопределении.
Директива GOTO имя_метки переводит процесс генерации макроопределения в другое место, прекращая тем самым последовательное разворачивание строк макроопределения. Метка, на которую передается управление, имеет специальный формат:
:имя_метки |
Примеры применения этих директив будут приведены ниже.