我正在学习 C 语言,我看到了一个我以前没有见过的新扩展。
扩展名为 like 的文件library.h.in
是什么意思?
它是带有扩展名“.h”的简单标题吗?有什么不同?
我正在学习 C 语言,我看到了一个我以前没有见过的新扩展。
扩展名为 like 的文件library.h.in
是什么意思?
它是带有扩展名“.h”的简单标题吗?有什么不同?
这些文件通常是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 文件。
通常,.h.in
文件是标题模板,由configure
脚本根据目标平台上存在的功能的多次测试结果填充成为实际标题。
以 .in 结尾的文件通常是一个被调用的程序使用的模板文件,该程序configure
在替换变量扩展后生成一个没有扩展名的新文件。即,如果您正在查看具有被调用文件的源树,例如Makefile.in
在树中,那么./configure
将生成一个可用的 Makefile,该 Makefile 可用于从源“制作”。