Условная компиляция
Командные строки препроцессора используются для условной компиляции различных частей исходного текста в зависимости от внешних условий.
#if константное_выражение
Пример:
#if ABC + 3
Истина, если константное выражение ABC + 3 не равно нулю.
#ifdef идентификатор
Пример:
#ifdef ABC
истина, если идентификатор ABC определен ранее командой #define.
#ifndef идентификатор
Пример:
#ifndef ABC
истина, если идентификатор ABC не определен в настоящий момент.
#else . . . #endif
Если предшествующие проверки #if, #ifdef или #ifndef дают значение "Истина", то строки от #else до #endif игнорируются при компиляции.
Если эти проверки дают значение "Ложь", то строчки от проверки до #else (а при отсутствии #else - до #endif) игнорируются.
Команда #endif обозначает конец условной компиляции.
Пример:
#ifdef DEBUG fprintf (stderr, "location: x = %d\n", x); #endif