Реферат: Препроцессор языка C.

4.3.1. Стандартные заранее определенные макросы

Стандартные заранее определенные макросы могут применяться вне

зависимости от используемой платформы или операционной системы на которой

функционирует GNU C. Их имена начинаются и заканчиваются двойным символом

подчеркивания. Все макросы в следующем списке до '__GNUC__' являются

стандартизированными ANSI C. Остальные макросы являются расширениями GNU C.

'__FILE__'

Этот макрос заменяется на имя текущего исходного файла в форме строковой

константы С. Возвращаемым именем является одно из указанных в директиве

'#include' или имя основного исходного файла.

'__LINE__'

Этот макрос заменяется на номер текущей строки в форме десятичной целой

константы. В то время как он называется заранее определенным макросом, его

значение меняется динамически.

Этот макрос и макрос '__FILE__' используются при генерировании сообщения

об ошибке для вывода несоответствия, определенного программой. Сообщение

может содержать номер строки исходного файла где была обнаружена ошибка.

Например,

fprintf (stderr, "Internal error: "

"negative string length "

"%d at %s, line %d.",

length, __FILE__, __LINE__);

Директива '#include' изменяет значения макросов '__FILE__' и '__LINE__'

на соответствующие исходному файлу. В конце этого файла, если это был

подключаемый файл, значения '__FILE__' и '__LINE__' становятся теми, какими

они были до директивы '#include' (только значение '__LINE__' увеличивается

на единицу, так как затем обрабатывается строка, следующая за директивой

'#include').

Значения '__FILE__' и '__LINE__' изменяются при использовании директивы

К-во Просмотров: 661
Бесплатно скачать Реферат: Препроцессор языка C.