Условные
конструкции препроцессора позволяют
компилировать или пропускать часть программы в
зависимсти от выполнения некоторого условия.
Условие может принимать одну из описываемых ниже
форм.
#if константное_выражение Проверяется значение выражения, составленного из констант и если оно не равно нулю, компилируется (включается) последующий текст. #ifdef идентификатор Последующий тест компилируется, если "идентификатор" уже был опредеоен для препроцессора в команде #define. #ifndef идентификатор Последующий текст компилируется, если "идентификатор" в данный момент не определен. Конструкция #undef идентификатор исключает "идентификатор" из списка определенных для препроцессора имен. За любой из трех условных команд может следовать произвольное число строк текста, содержащих, возможно, команду вида #else и заканчивающихся #endif. Если проверяемое условие справедливо, то строки между #else и #endif игнорируются. Если же проверяемое условие не выполняется, то игнорируются все строки между проверкой и командой #else, а если ее нет, то командой #endif. Приведенная на примере 6.7 программа иллюстрирует применение некоторых из рассмотренных выше команд, обеспечивающих условную компиляцию. Пример 6.7
|