Spec-Zone.ru › GCC 11 CPP

Следующая: Макросы, Предыдущая: Обзор [Оглавление][Индекс]

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

Файл заголовка — это файл, содержащий C-декларации и определения макросов (см. Макросы), которые должны использоваться в нескольких исходных файлах. Вы запрашиваете использование файла заголовка в вашей программе, включая его с помощью препроцессорной директивы C ‘#include’.

Файлы заголовков служат двум целям.

  • Файлы заголовков системы объявляют интерфейсы к частям операционной системы. Вы включаете их в свою программу, чтобы предоставить необходимые определения и декларации для вызова системных вызовов и библиотек.
  • Ваши собственные файлы заголовков содержат декларации для интерфейсов между исходными файлами вашей программы. Каждый раз, когда у вас есть группа связанных деклараций и определений макросов, большинство из которых нужны в нескольких разных исходных файлах, рекомендуется создать для них файл заголовка.

Включение файла заголовка даёт тот же результат, что и копирование файла заголовка в каждый исходный файл, которому он нужен. Такое копирование было бы трудоёмким и подвержено ошибкам. С файлом заголовка связанные декларации появляются только в одном месте. Если их необходимо изменить, их можно изменить в одном месте, и программы, которые включают файл заголовка, автоматически будут использовать новую версию при следующей компиляции. Файл заголовка устраняет трудности поиска и изменения всех копий, а также риск того, что невозможность найти одну копию приведёт к несогласованности в программе.

В C принята конвенция именовать файлы заголовков, добавляя к имени .h. Наиболее переносимо использовать только буквы, цифры, дефисы и нижние подчёркивания в именах файлов заголовков, и не более одной точки.

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

Следующая: Макросы, Предыдущая: Обзор [Оглавление][Индекс]

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

Spec-Zone.ru

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