ДИРЕКТИВЫ ПРЕПРОЦЕССОРА #define, #include, #undef, #if, #ifdef, #ifndef, #else, #endif

ДИРЕКТИВЫ ПРЕПРОЦЕССОРА #define, #include, #undef, #if, #ifdef, #ifndef, #else, #endif

     Язык Си был разработан в помощь работающим программистам, а им нравится его препроцессор. Этот полезный помощник просматривает программу до компилятора (отсюда и термин "препроцессор") и заменяет символические аббревиатуры в программе на соответствующие директивы. Он отыскивает другие файлы, необходимые вам, и может также изменить условия компиляции. Однако эти слова не отражают истинную пользу и значение препроцессора, поэтому обратимся к примерам. Конечно, до сих пор мы снабжали все примеры директивами #define и #include, но теперь мы можем подытожить все, что изучили, и развить тему дальше.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

17. Директивы препроцессора

Из книги Программирование автора Козлова Ирина Сергеевна

17. Директивы препроцессора Директивы препроцессора – это особые инструкции, которые записаны в тексте программы на СИ и выполнены до трансляции программы. Директивы препроцессора дают возможность изменить текст программы. Среди таких действий – замена некоторых


R.16.3.4 Область видимости макроимен и конструкция #undef

Из книги Справочное руководство по C++ автора Страустрап Бьярн

R.16.3.4 Область видимости макроимен и конструкция #undef После появления макроопределения идентификатор из него считается определенным и остается в текущей области видимости (независимо от правил областей видимости в С++) до конца единицы трансляции или пока его определение


Директивы препроцессора C#

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Директивы препроцессора C# Подобно многим другим языкам из семейства C, в C# поддерживаются различные символы, позволяющие влиять на процесс компиляции. Перед рассмотрением директив препроцессора C# согласуем соответствующую терминологию. Термин "директива препроцессора


Правило 2: Предпочитайте const, enum и inline использованию #define

Из книги Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ автора Мейерс Скотт

Правило 2: Предпочитайте const, enum и inline использованию #define Это правило лучше было бы назвать «Компилятор предпочтительнее препроцессора», поскольку #define зачастую вообще не относят к языку C++. В этом и заключается проблема. Рассмотрим простой пример; попробуйте написать


24. Используйте только внутреннюю, но не внешнюю защиту директивы #include

Из книги Стандарты программирования на С++. 101 правило и рекомендация автора Александреску Андрей

24. Используйте только внутреннюю, но не внешнюю защиту директивы #include РезюмеПредотвращайте непреднамеренное множественное включение ваших заголовочных файлов директивой #include, используя в них защиту с уникальными именами.ОбсуждениеКаждый заголовочный файл должен


ДИРЕКТИВЫ ПРЕПРОЦЕССОРА И УКАЗАНИЯ КОМПИЛЯТОРУ

Из книги Язык программирования Си для персонального компьютера автора Бочков C. О.

ДИРЕКТИВЫ ПРЕПРОЦЕССОРА И УКАЗАНИЯ КОМПИЛЯТОРУ Введение Препроцессор языка Си представляет собой макропроцессор, используемый для обработки исходного файла на нулевой фазе компиляции. Компилятор языка Си сам вызывает препроцессор, однако препроцессор может быть


Директива #define

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

Директива #define Синтаксис:#define <идентификатор> <текст>#define <идентификатор> <список параметров> <текст>Директива #define заменяет все вхождения <идентификатора> в исходном файле на <текст>, следующий в директиве за <идентификатором>. Этот процесс


Директива #undef

Из книги Фундаментальные алгоритмы и структуры данных в Delphi автора Бакнелл Джулиан М.

Директива #undef Синтаксис:#undef <идентификатор>Директива #undef отменяет действие текущего определения #define для <идентификатора>. Чтобы отменить макроопределение посредством директивы #undef, достаточно задать его <идентификатор>. Задание списка параметров не


Директивы #if, #elif, #else, #endif

Из книги Язык Си - руководство для начинающих автора Прата Стивен

Директивы #if, #elif, #else, #endif Синтаксис:#if <ограниченное-константное-выражение> [<текст>][#elif <ограниченное-константное-выражение> <текст>][#elif <ограниченное-константное-выражение> <текст>][#else <текст>]#endifДиректива #if совместно с директивами #elif, #else и #endif


Директивы #ifdef и #ifndef

Из книги C++ для начинающих автора Липпман Стенли

Директивы #ifdef и #ifndef Синтаксис:#ifdef <идентификатор>#ifndef <идентификатор>Аналогично директиве #if, за директивами #ifdef и #ifndef может следовать набор директив #elif и директива #else. Набор должен быть завершен директивой #endif.Использование директив #ifdef и #ifndef эквивалентно


21.1.4. Опции препроцессора

Из книги Разработка ядра Linux автора Лав Роберт

21.1.4. Опции препроцессора Эти опции задают режим предварительной обработки исходного кода (до собственно компиляции).Очень важной является опция -include <файл>. Она позволяет «прогнать» через препроцессор сперва содержимое указанного файла, а только после этого файл,


Что это за странные конструкции $ifdef в коде?

Из книги автора

Что это за странные конструкции $ifdef в коде? Все коды примеров, представленных в книге, за несколькими специальным образом помеченными исключениями, будут компилироваться в средах Delphi1, 2, 3, 4, 5 и 6, а также Kylix 1. (Впрочем, должны поддерживаться и будущие версии компиляторов.


4. Символьные строки директива #define, функции printf( ) и scanf( ) 

Из книги автора

4. Символьные строки директива #define, функции printf( ) и scanf( )    В этой главе мы продолжим нашу "игру" с данными покопаемся в вопросах, выходящих за пределы тех, которые были связаны с типами данных, и рассмотрим символьную строку Сначала опи шем важное средство языка -


ДРУГИЕ ДИРЕКТИВЫ: #undef, #if, #ifdef, #ifndef, #else И #endif

Из книги автора

ДРУГИЕ ДИРЕКТИВЫ: #undef, #if, #ifdef, #ifndef, #else И #endif      Эти директивы обычно используются при программировании больших модулей. Они позволяют приостановить действие более ранних определений и создать файлы, каждый из которых можно компилировать по-разному.      Директива #undef


1.3. Директивы препроцессора

Из книги автора

1.3. Директивы препроцессора Заголовочные файлы включаются в текст программы с помощью директивы препроцессора #include. Директивы препроцессора начинаются со знака "диез" (#), который должен быть самым первым символом строки. Программа, которая обрабатывает эти директивы,


Никаких директив ifdef в исходном коде

Из книги автора

Никаких директив ifdef в исходном коде Использование директив препроцессора ifdef в исходном коде категорически не рекомендуется. Никогда не следует делать чего-нибудь вроде следующего. ...#ifdef CONFIG_FOO foo();#endif ...Вместо этого, если макрос CONFIG_FOO не определен, необходимо