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).
Далее: Реализация функций библиотеки, Предыдущее: Реализация операторов, Вверх: Реализация C [Содержание][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-8.5.0/gcc/Preprocessing-directives-implementation.html