问题
I am studying the C language, and I saw a new extension that I had not seen before.
What do files with the extension like library.h.in
mean?
Is it as the simple header with extension ".h"? What's the difference?
回答1:
These files are usually the input for autoconf which will generate final .h files.
Here's an example from PCRE:
#define PCRE_MAJOR @PCRE_MAJOR@
#define PCRE_MINOR @PCRE_MINOR@
#define PCRE_PRERELEASE @PCRE_PRERELEASE@
#define PCRE_DATE @PCRE_DATE@
Autoconf will replace all variables (@…@
) with the respective values and the result will be a .h file.
回答2:
Typically, a .h.in
file is a header template that is filled in to become the actual header by a configure
script based on the outcome of several tests for features present on the target platform.
回答3:
Files ending with .in are typically template files used by a program called configure
that generates a new file without the extension after substituting for variable expansions. I.e., if you're looking at a source tree that has files called, e.g. Makefile.in
in the tree, then ./configure
will generate a usable Makefile that can be used to "make" from source.
来源:https://stackoverflow.com/questions/14248848/what-mean-file-with-extension-h-in