4.13 Директивы препроцессора
См. Реализация-зависимое поведение в Препроцессоре C для подробностей об этих аспектах реализации-зависимого поведения.
- Места в директивах
#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).См. Директивы в Препроцессоре C для подробностей о директивaх, поддерживаемых GCC на всех целевых платформах. См. Поддерживаемые GCC директивы для подробностей о целевых платформах.
- Определения для
__DATE__и__TIME__, если дата и время перевода недоступны (C90 6.8.8, C99 6.10.8, C11 6.10.8.1).
Далее: Реализация функций библиотеки, Предыдущее: Реализация операторов, Вверх: Реализация C [Содержание][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Preprocessing-directives-implementation.html