Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

а) условное включение (аналог работы оператора if):

#if<предикат_условия>

ТЕКСТ_1

#endif

б) альтернативное включение (аналог if-else):

#if<предикат_условия>

ТЕКСТ_1

#else

ТЕКСТ_2

#endif

Виды предикатов условий:

константное_выражение ® истина, если его значение не равно нулю;

def ID ® истина, если «ID» был опреде­лен ранее оператором #define;

ndef ID ® истина, если «ID» не был опре­де­лен оператором #define.

Константное_выражение отделяется от ключевого слова if разделителем, а def и ndef - нет.

Пример:

#ifdef DEBUG

print_state();

#endif

Элементы исходного текста "ТЕКСТ_1" или "ТЕКСТ_2" могут содержать любые директивы препроцессора.

Примеры:

#ifndef EOF

#define EOF -1

#endif

#if UNIT==CON

#include "conproc.c"

#else

#include "outproc.c"

#endif

Изменение нумерации строк и идентификатора файла

По умолчанию диагностические сообщения компилятора привязываются к номеру строки и ID файла исходного текста.

Директива

# line номер_строки ID_файла

позволяет с целью более приметной привязки к фрагментам текста изменить номер текущей строки и ID файла на новые значения («ID­_фай­ла» можно опустить). В системе программирования TURBO-C оператор line игнорируется.


Св. план 2004, поз. 27





Дата публикования: 2015-09-17; Прочитано: 160 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...