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, для получения подробностей о директивах, поддерживаемых 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-11.4.0/gcc/Preprocessing-directives-implementation.html