Что означает файл с расширением "h.in"?

Я изучаю язык C, и я видел новое расширение, которое я раньше не видел.

Что означают файлы с расширением типа library.h.in?

Это как простой заголовок с расширением ".h"? Какая разница?

Ответы

Ответ 1

Эти файлы обычно представляют собой вход для autoconf, который будет генерировать окончательные файлы .h.

Вот пример из PCRE:

#define PCRE_MAJOR          @[email protected]
#define PCRE_MINOR          @[email protected]
#define PCRE_PRERELEASE     @[email protected]
#define PCRE_DATE           @[email protected]

Autoconf заменит все переменные (@…@) соответствующими значениями, а результат будет .h файлом.

Ответ 2

Как правило, файл .h.in представляет собой шаблон заголовка, который заполняется, чтобы стать фактическим заголовком configure script на основе результатов нескольких тестов для функций, присутствующих на целевой платформе.

Ответ 3

Файлы, заканчивающиеся на .in, обычно являются файлами шаблонов, используемыми программой под названием configure, которая генерирует новый файл без расширения после подстановки для переменных разложений. I.e., если вы смотрите на исходное дерево, в котором есть файлы, называемые, например. Makefile.in в дереве, тогда ./configure создаст полезный Makefile, который можно использовать для "make" из источника.