Справочная система C guide



Содержание


8.3. Включение файлов

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

#include (имя _файла'1

Пример

#mclude<r.iath.h>

Препроцессор заменяет эту строку содержимым файла math.h. Угловые скобки обозначают, что файл math.h будет взят из некоторого стандартного каталога (обычно это /usr/mclude). Текущий каталог не просматривается. #include "имя_файла"

Пример

#mclude "ABC"

Препроцессор заменяет эту строку содержимым файла ABC. Так как имя файла заключено в кавычки, то поиск производится в текущем каталоге (в котором содержится основной файл исходного текста). Если в текущем каталоге данного

54 Препроцессор

файла нет, то поиск производится в каталогах, определенных именем пути в опции -1 препроцессора Если и там файла нет, то просматривается стандартный каталог

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

Командные строки препроцессора используются для условной ком пиляции различных частей исходного текста в зависимости от внешних условий # if константное _аыражение Пример

“if АВС + 3

Истина, если конвтантное выражение АВС + 3 не равно нулю #fdef идентификатор Пример

“ifdef АВС

Истина, если идентификатор АВС определен ранее командой “define “ifndef идентификатор Пример

“ifndef АВС

Истина, если идентификатор АВС не определен в настоящий момент • “else

“endif

Если предшествующие проверки “if, #ifdef или #ifndef дают значение Истина, то строки от “else до “endif игнорируются при компиляции

Если эти проверки дают значение Ложь, то строки oi проверки до “else (а при отсутствии “else — до “endif) игнорируются Команда “endif обозначает конец условной компиляции

Пример

“ifdef DEBUG

iprmtf (stderr, "location x = %d\ n", x), “endif

Структура программы 55

8.5. Номер строки и имя файла

“line целая _константа "имя __файла" Пример

*hne 20 "АВС"

Препроцессор изменяет номер текущей строки и имя компилируемого файла Имя файла может быть опущено




Содержание  Назад  Вперед