Заголовок префикса - Prefix header

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

Обзор

в C и C ++ языки программирования, заголовочный файл это файл текст которого включен в другой исходный файл компилятор, обычно с использованием директивы компилятора в начале исходного файла. Заголовок префикса отличается от обычного файла заголовка тем, что он автоматически включается компилятором в начало каждого исходного файла без использования каких-либо директив компилятора.

Заголовки префиксов обычно предварительно скомпилированный чтобы сократить время компиляции. Использование заголовков префиксов вне этой цели может сделать ваш код более трудным в поддержке и менее пригодным для повторного использования.[1]Заголовки префиксов также могут использоваться для кросс-платформенной поддержки. На * NIX систем, обычно во время сборки создается файл заголовка config.h (через что-то вроде autoconf ), который описывает возможности системы. Однако при использовании определенных систем сборки, таких как Visual Studio или Xcode, этот config.h может быть недоступен. Один из способов решить эту проблему - сделать HAVE_CONFIG_H предопределенным макросом в системе сборки, который генерирует config.h, чтобы код знал, нужно ли ему #include config.h (и безопасно для использования системами сборки, которые делают нет его). В качестве альтернативы система сборки могла бы добавить config.h в качестве заголовка префикса вместо определения HAVE_CONFIG_H. Конечно, недостатком является то, что этот заголовок будет добавлен к каждому модулю компиляции, а не только к тем, которые включают его явно.

пример

На Mac OS X, то Xcode Система сборки автоматически генерирует заголовки префиксов для новых проектов. Новый Какао проект, например, получает заголовок префикса, который выглядит следующим образом:

#ifdef __OBJC__    #import <Какао / Какао.h>#endif

В результате явное включение вышеуказанных файлов заголовков в любой Цель-C файл кода не подразумевает повторного включения из-за #импорт директива Цель-C, или в более общем плане с #включают из-за использования включить охранников; следовательно, об этих включениях можно забыть, но рекомендуется[1] чтобы они были написаны явно, чтобы исходный код оставался автономным и пригодным для повторного использования, а также чтобы сделать четкие зависимости библиотек.

Аналогичные заголовки префиксов создаются для других типов проектов.

Смотрите также

использованная литература

  1. ^ а б «4 способа, которыми предварительно скомпилированные заголовки искажают ваш код • Качественное кодирование». Качественное кодирование. 28 февраля 2012 г.. Получено 17 августа 2018.

внешние ссылки