47

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

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

它是带有扩展名“.h”的简单标题吗?有什么不同?

4

3 回答 3

41

这些文件通常是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 文件。

于 2013-01-10T00:30:07.557 回答
21

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

于 2013-01-10T00:24:38.243 回答
4

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

于 2013-01-10T00:25:15.357 回答