J'étudie le langage C et j'ai vu une nouvelle extension que je n'avais jamais vue auparavant.
Que font les fichiers avec l'extension comme library.h.in
signifier?
S'agit-il d'un simple en-tête avec l'extension ".h"? Quelle est la différence?
Ces fichiers sont généralement l'entrée pour autoconf qui générera les fichiers .h finaux.
Voici un exemple de PCRE:
#define PCRE_MAJOR @PCRE_MAJOR@
#define PCRE_MINOR @PCRE_MINOR@
#define PCRE_PRERELEASE @PCRE_PRERELEASE@
#define PCRE_DATE @PCRE_DATE@
Autoconf remplacera toutes les variables (@…@
) avec les valeurs respectives et le résultat sera un fichier .h.
En règle générale, un .h.in
fichier est un modèle d'en-tête qui est rempli pour devenir l'en-tête réel par un script configure
basé sur le résultat de plusieurs tests pour les fonctionnalités présentes sur la plate-forme cible.
Les fichiers se terminant par .in sont généralement des fichiers de modèle utilisés par un programme appelé configure
qui génère un nouveau fichier sans l'extension après avoir remplacé les extensions de variable. C'est-à-dire, si vous regardez une arborescence source contenant des fichiers appelés, par ex. Makefile.in
dans l'arborescence, puis ./configure
générera un Makefile utilisable qui peut être utilisé pour "faire" à partir de la source.