Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Директивы условной компиляции #if, #elif, #else, #endif





Директивы условной компиляции #if, #elif, #else, #endif работают как обычные условные операторы С. Они используются:

 

#if константное-выражение1

секция1

[ #elif константное-выражение2 новая-строка секция2]

...

[ #elif константное-выражениеn новая-строка секцияn]

...

[ #else последняя-секция]

#endif

 

Если константное-выражение1 вычисляется не в 0 (true), строки кода (возможно пустые), представленные секцией1, либо это строки с командами препроцессора, либо это строки исходного кода обрабатываются препроцессором и передаются в компилятор Borland C. Иначе, если константное- выражение1 вычисляется в 0 (false), секция1 игнорируется (не макрорасширяется и не компилируется).

В случае true после препроцессорной обработки секции1 управление передается на соответствующую #endif (которая заканчивает условный эпизод), и продолжается со следующей секцией. В случае false управление передается на следующую #elif (если она есть) и вычисляется константное-выражение2 и т.д. Если true, то секция2 обрабатывается, после чего управление переходит на соответствующий #endif. В противном случае, если константное-выражение2 false, то управление переходит на следующую #elif, и т.д., до тех пор, пока не исчерпаются все #else или #endif. Необязательная #else используется как альтернативный вариант в случае, если все предыдущие тесты вычислялись в false. #endif заканчивает условную последовательность.

Секции могут содержать директиву условной компиляции, вложенную на любую глубину; каждая #if должна быть сбалансирована закрывающей #endif.

В результате действия директив условной компиляции только одна секция (возможно пустая) передается для дальнейшей обработки. Пропущенные секции годятся только для хранения следа вложенных условий, так что каждая директива #if получает соответствующую верную директиву #endif.

Константные выражения должны вычисляться в целое константное значение.







Date: 2015-12-12; view: 341; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию