4.13 Реализации директив препроцессора
См. реализуемые аспекты поведения для подробностей.
- Позиции в
#pragmaдирективах, где распознаются имена заголовочных файлов (C11 6.4, C11 6.4.7). - Как последовательности в обоих форматах имён заголовков отображаются в заголовки или имена внешних исходных файлов (C90 6.1.7, C99 и C11 6.4.7).
- Соответствует ли значение символьной константы в выражении константы, контролирующем условную включение, значению той же символьной константы в наборе символов выполнения (C90 6.8.1, C99 и C11 6.10.1).
- Может ли значение символьной константы с одним символом в выражении константы, контролирующем условную включение, иметь отрицательное значение (C90 6.8.1, C99 и C11 6.10.1).
- Места, которые проверяются на наличие включённого заголовка, ограниченного ‘
<>’, и как эти места указываются или идентифицируется заголовок (C90 6.8.2, C99 и C11 6.10.2). - Как имя исходного файла ищется в включённом заголовке, ограниченном ‘
""’ (C90 6.8.2, C99 и C11 6.10.2). - Метод, с помощью которого токены предварительной обработки (возможно, полученные в результате расширения макроса) в директиве
#includeобъединяются в имя заголовка (C90 6.8.2, C99 и C11 6.10.2). - Предел вложенности для обработки
#include(C90 6.8.2, C99 и C11 6.10.2). - Вставляет ли оператор ‘
#’ символ ‘\’ перед символом ‘\’, который начинает универсальное имя символа в символьной константе или строковой литерале (C99 и C11 6.10.3.2). - Поведение при каждом распознанном не-
STDC #pragmaдирективе (C90 6.8.6, C99 и C11 6.10.6).См. Директивы для подробностей о директивах, принятых GCC для всех целей. См. Директивы, принятые GCC для подробностей о целевых директивах.
- Определения
__DATE__и__TIME__соответственно, когда дата и время трансляции недоступны (C90 6.8.8, C99 6.10.8, C11 6.10.8.1).
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-4.9.4/gcc/Preprocessing-directives-implementation.html