私はC言語を勉強していて、今まで見たことのない新しい拡張機能を見ました。
library.h.in
のような拡張子を持つファイルはどういう意味ですか?
拡張子が「.h」の単純なヘッダーですか?違いは何ですか?
これらのファイルは通常、最終的な.hファイルを生成する autoconf の入力です。
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を生成します。