Директивы условной компиляции в С++
Директивы условной компиляции #if, #ifdef и #ifndef применяются для того, чтобы исключить компиляцию отдельных частей программы. Это бывает полезно при отладке или, например, при поддержке нескольких версий программы для различных платформ.
Формат директивы #if:
Количество директив #elif — произвольное. Исключаемые блоки кода могут содержать как описания, так и исполняемые операторы.
Пример условного включения различных версий заголовочного файла:
Другое назначение директивы — временно закомментировать фрагменты кода.
Пример:
Директива #undef
Директива #undef имя удаляет определение символа. Используется редко, например, для отключения какой-либо опции компилятора.
Формат директивы #if:
#if константное_выражение ... [#elif константное_выражение ...] [#elif константное_выражение ...] [#else ...] #endif
Пример условного включения различных версий заголовочного файла:
# if VERSION == 1 #define INCFILE "versl.h" # elif VERSION == 2 #def1ne INCFILE "vers2.h" /* и так далее */ #else #define INCFILE "versN.h" #endif #include INCFILE
Пример:
#if 0 int i, j ; double x, у; #endif
Директива #undef имя удаляет определение символа. Используется редко, например, для отключения какой-либо опции компилятора.