Книга: Язык программирования Си для персонального компьютера
Директивы #ifdef и #ifndef
Директивы #ifdef и #ifndef
Синтаксис:
#ifdef <идентификатор>
#ifndef <идентификатор>
Аналогично директиве #if, за директивами #ifdef и #ifndef может следовать набор директив #elif и директива #else. Набор должен быть завершен директивой #endif.
Использование директив #ifdef и #ifndef эквивалентно применению директивы #if, использующей выражение с операцией defined(<идентификатор>). Эти директивы поддерживаются исключительно для совместимости с предыдущими версиями компиляторов языка Си. Для новых программ рекомендуется использовать директиву #if с операцией defined(<идентификатор>).
Когда препроцессор обрабатывает директиву #ifdef, он проверяет, определен ли в данный момент <идентификатор> директивой #define. Если да, условие считается истинным, если нет — ложным.
Директива #ifndef противоположна по действию директиве #ifdef. Если <идентификатор> не был определен директивой #define, или его определение уже отменено директивой #undef, то условие считается истинным. В противном случае условие ложно.
- ДИРЕКТИВЫ ПРЕПРОЦЕССОРА #define, #include, #undef, #if, #ifdef, #ifndef, #else, #endif
- ДРУГИЕ ДИРЕКТИВЫ: #undef, #if, #ifdef, #ifndef, #else И #endif
- 9.3.1. HTTP-директивы
- 9.3.2. FTP-директивы
- 10.3.4. Информационные директивы
- Использование директивы typedef
- #ifdef NWSQL (1991–92 год)
- ДИРЕКТИВЫ ПРЕПРОЦЕССОРА И УКАЗАНИЯ КОМПИЛЯТОРУ
- Директивы #if, #elif, #else, #endif
- История нескольких #ifdef
- #ifdef BTSQL (1992-93 год)
- #ifdef Windows