Что означает файл с расширением "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" из источника.