Spec-Zone.ru › GCC 14 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-14.2.0/cpp/Header-Files.html

Spec-Zone.ru

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