Spec-Zone.ru › GCC 4 CPP

Предпроцессор C

Содержание

  • Предпроцессор C
  • 1 Обзор
    • 1.1 Наборы символов
    • 1.2 Первичная обработка
    • 1.3 Токенизация
    • 1.4 Язык предпроцессора
  • 2 Файлы заголовков
    • 2.1 Синтаксис include
    • 2.2 Действие include
    • 2.3 Путь поиска
    • 2.4 Файлы заголовков, включаемые только один раз
    • 2.5 Альтернативы обёртке #ifndef
    • 2.6 Вычисленные include
    • 2.7 Обёртки заголовков
    • 2.8 Системные заголовки
  • 3 Макросы
    • 3.1 Макросы-объекты
    • 3.2 Макросы-функции
    • 3.3 Аргументы макроса
    • 3.4 Строковая подстановка
    • 3.5 Конкатенация
    • 3.6 Макросы с переменным числом аргументов
    • 3.7 Предопределённые макросы
      • 3.7.1 Стандартные предопределённые макросы
      • 3.7.2 Распространённые предопределённые макросы
      • 3.7.3 Системно-специфические предопределённые макросы
      • 3.7.4 Имена операторов языка C++
    • 3.8 Отмена и переопределение макросов
    • 3.9 Директивы внутри аргументов макроса
    • 3.10 Опасные ситуации с макросами
      • 3.10.1 Неправильное вложение
      • 3.10.2 Проблемы с приоритетом операторов
      • 3.10.3 Поглощение точки с запятой
      • 3.10.4 Дублирование побочных эффектов
      • 3.10.5 Самоссылочные макросы
      • 3.10.6 Предварительный просмотр аргументов
      • 3.10.7 Переносы строк в аргументах
  • 4 Условные операторы
    • 4.1 Использование условных операторов
    • 4.2 Синтаксис условных операторов
      • 4.2.1 Ifdef
      • 4.2.2 If
      • 4.2.3 Defined
      • 4.2.4 Else
      • 4.2.5 Elif
    • 4.3 Удаленный код
  • 5 Диагностика
  • 6 Управление строками
  • 7 Прагмы
  • 8 Другие директивы
  • 9 Вывод предпроцессора
  • 10 Традиционный режим
    • 10.1 Традитический лексический анализ
    • 10.2 Традиционные макросы
    • 10.3 Разное в традиционном режиме
    • 10.4 Предупреждения в традиционном режиме
  • 11 Детали реализации
    • 11.1 Определяемое реализацией поведение
    • 11.2 Ограничения реализации
    • 11.3 Устаревшие функции
      • 11.3.1 Утверждения
    • 11.4 Различия с предыдущими версиями
  • 12 Вызов
  • 13 Переменные среды
  • GNU Free Documentation License
    • ДОПОЛНЕНИЕ: Как использовать эту лицензию для ваших документов
  • Индекс директив
  • Индекс опций
  • Индекс понятий

Предпроцессор C

Предпроцессор C реализует язык макросов, используемый для преобразования программ на C, C++ и Objective-C перед их компиляцией. Он также может быть полезен сам по себе.

  • Обзор
  • Файлы заголовков
  • Макросы
  • Условные операторы
  • Диагностика
  • Управление строками
  • Прагмы
  • Другие директивы
  • Вывод предпроцессора
  • Традиционный режим
  • Детали реализации
  • Вызов
  • Переменные среды
  • GNU Free Documentation License
  • Индекс директив
  • Индекс опций
  • Индекс понятий

--- Подробный список узлов ---

Обзор

  • Наборы символов
  • Первичная обработка
  • Токенизация
  • Язык предпроцессора

Файлы заголовков

  • Синтаксис include
  • Действие include
  • Путь поиска
  • Файлы заголовков, включаемые только один раз
  • Альтернативы обёртке #ifndef
  • Вычисленные include
  • Обёртки заголовков
  • Системные заголовки

Макросы

  • Макросы-объекты
  • Макросы-функции
  • Аргументы макроса
  • Строковая подстановка
  • Конкатенация
  • Макросы с переменным числом аргументов
  • Предопределённые макросы
  • Отмена и переопределение макросов
  • Директивы внутри аргументов макроса
  • Опасные ситуации с макросами

Предопределённые макросы

  • Стандартные предопределённые макросы
  • Распространённые предопределённые макросы
  • Системно-специфические предопределённые макросы
  • Имена операторов языка C++

Опасные ситуации с макросами

  • Неправильное вложение
  • Проблемы с приоритетом операторов
  • Проглатывание точки с запятой
  • Дублирование побочных эффектов
  • Самоссылочные макросы
  • Предварительный просмотр аргументов
  • Новые строки в аргументах

Условные операторы

  • Использование условных операторов
  • Синтаксис условных операторов
  • Удаленный код

Синтаксис условных операторов

  • Ifdef
  • If
  • Defined
  • Else
  • Elif

Подробности реализации

  • Поведение, определяемое реализацией
  • Пределы реализации
  • Устаревшие функции
  • Отличия от предыдущих версий

Устаревшие функции

  • Устаревшие функции

Авторское право © 1987-2015 Free Software Foundation, Inc.

Разрешается копировать, распространять и/или изменять этот документ в соответствии с условиями лицензии GNU Free Documentation License, версия 1.3 или любой более поздней версии, опубликованной Free Software Foundation. Копия лицензии включена в раздел «GNU Free Documentation License».

В этом руководстве нет неизменяемых разделов. Тексты на лицевой стороне обложки (а) (см. ниже), а тексты на задней стороне обложки (b) (см. ниже).

(а) Текст на лицевой стороне обложки FSF:

Руководство GNU

(b) Текст на задней стороне обложки FSF:

У вас есть свобода копировать и изменять это руководство GNU, как и программное обеспечение GNU. Копии, опубликованные Free Software Foundation, собирают средства для развития GNU.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-4.9.4/cpp/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API