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-6.5.0/gcc/Preprocessing-directives-implementation.html