Основы программирования на языке C

Условная компиляция


Командные строки препроцессора используются для условной компиляции различных частей исходного текста в зависимости от внешних условий.

#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



Содержание раздела