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

Spec-Zone.ru

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