什么意思是扩展名为“h.in”的文件?

时间:2013-01-10 00:21:33

标签: c header-files

我正在学习C语言,我看到了一个我以前从未见过的新扩展。

扩展名为library.h.in的文件是什么意思?

它是带有扩展名的简单标题" .h"?有什么区别?

3 个答案:

答案 0 :(得分:26)

这些文件通常是autoconf的输入,它将生成最终的.h文件。

以下是PCRE的一个例子:

#define PCRE_MAJOR          @PCRE_MAJOR@
#define PCRE_MINOR          @PCRE_MINOR@
#define PCRE_PRERELEASE     @PCRE_PRERELEASE@
#define PCRE_DATE           @PCRE_DATE@

Autoconf会将所有变量(@…@)替换为相应的值,结果将是.h文件。

答案 1 :(得分:15)

通常,.h.in文件是一个标题模板,根据目标平台上存在的功能的几项测试结果填充成configure脚本的实际标头。

答案 2 :(得分:2)

以.in结尾的文件通常是名为configure的程序使用的模板文件,它在替换变量扩展后生成没有扩展名的新文件。即,如果您正在查看具有调用文件的源树,例如在树中Makefile.in,然后./configure将生成一个可用的Makefile,可用于从源“制造”。