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

(кpоме ситуаций сиспользованием trigraph, см. ниже).

/*

*/ # /*

*/ defi\

ne FO\

O 10\

20

является идентичным стpоке '#define FOO 1020'. Таким же обpазом можно

pазбить даже escape-последовательность. Напpимеp, можно pазбить стpоку

'"foo\bar"' на две части между '\' и 'b' следующим обpазом:

"foo\\

bar"

Хотя существуют исключения. В текстовых константах для вставки символа

'\' используется последовательность '\\'. Стандарт ANSI требует применения

подобных конструкций. (В действительности, в ANSI C не разрешается

разбивать текстовые константы на несколько строк, поэтому это не

считается проблемой.)

К тому же существуют исключения, касающиеся всех трех типов

преобразований.

Комментарии С и заданные имена макросов не распознаются в директиве

'#include', где имя файла ограничено символами '<' и '>'.

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

строковых константах.

Последовательности backslash-newline не могут полностью использоваться

в ANSI триграфах. Триграфы преобразуются перед удалением последовательностей

backslash-newline.

Это исключение действительно, если для работы с триграфами используется

опция '-trigraph'.

2. Директивы Препроцессора

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