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

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

а) условное включение (аналог работы оператора 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-11; просмотров: 578;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.