Che cos'è il formato di file IN?
Un file .in è un file modello (template) in formato testo semplice elaborato dal sistema di compilazione GNU Autotools. Gli esempi più comuni sono Makefile.in (modello per il Makefile di un progetto) e config.h.in (modello per un header di configurazione C/C++). Quando uno sviluppatore esegue ./configure - lo script generato da GNU Autoconf - lo script legge questi modelli .in, sostituisce i segnaposto @VARIABLE@ con i valori rilevati dall'ambiente di compilazione (percorsi del compilatore, flag delle librerie, funzionalità di sistema) e scrive i file di output finali.
GNU Autoconf è stato creato da David MacKenzie nel 1991 ed è mantenuto dal Progetto GNU. Autoconf 2.72 (dicembre 2023) è la versione attuale. Il file di input macro di primo livello era storicamente denominato configure.in; è stato rinominato in configure.ac in Autoconf 2.50 per ridurre l'ambiguità, sebbene molti progetti datati utilizzino ancora il nome originale.
Tipi comuni di modelli .in:
Makefile.in- diventaMakefiledopo l'esecuzione di./configureconfig.h.in- diventaconfig.hcon sostituzioni#define//* #undef */foo.pc.in- diventa un file.pcdi pkg-config
Poiché i file .in sono testo semplice, qualsiasi editor può aprirli e leggerli. Le estensioni correlate includono .ac (file macro Autoconf), .am (input Automake) e .m4 (file macro M4). Si noti che l'estensione .in non è esclusiva di Autotools - anche il comando configure_file() di CMake utilizza modelli .in - ma gli sviluppatori software che lavorano con i sistemi di compilazione Autotools rappresentano il caso d'uso dominante.
Sicurezza e incolumità
RISCHIO: LOWUn file modello .in è testo semplice e non può eseguire codice da solo. È sicuro da aprire in un editor di testo. Lo script configure che elabora i file .in è uno script di shell (che esegue codice) - si applica la normale cautela per l'esecuzione di ./configure da una fonte non attendibile. Il file .in in sé è passivo.
Dettagli del formato
in sintesi- File interno/temporaneo McAfee VirusScan - Alcune versioni dell'antivirus McAfee utilizzano .in come estensione di file interna per dati temporanei o relativi alla quarantena; non è un formato pubblico documentato e raramente viene incontrato dagli utenti.
- File modello/input generico - Molte applicazioni utilizzano .in come convenzione generica per qualsiasi modello o file di input che viene elaborato per produrre un file di output (ad esempio, configure_file di CMake utilizza modelli .in).
- Input di compilazione del modulo Perl - Alcuni sistemi di compilazione Perl/CPAN utilizzano i file .in come modelli di input per i file generati durante l'installazione del modulo.
Programmi che aprono file IN
Dettagli tecnici
specifiche approfondite| Codifica file | Testo semplice ASCII/UTF-8 |
| Ruolo primario | File modello consumato da ./configure (generato da GNU Autoconf) per produrre i file di output finali della compilazione |
| Sintassi segnaposto | Marcatori @VARIABLE@ sostituiti da configure con i valori di sistema rilevati (percorso del compilatore, flag delle librerie, flag delle funzionalità) |
| Tipi di modelli comuni | Makefile.in → Makefile; config.h.in → config.h; foo.pc.in → foo.pc (metadati pkg-config) |
| Struttura config.h.in | Contiene direttive #undef FEATURE; configure le sostituisce con #define FEATURE 1 o /* #undef FEATURE */ |
| configure.in vs configure.ac | configure.in è il vecchio nome per l'input macro Autoconf di primo livello; rinominato in configure.ac in Autoconf 2.50 |
| Linguaggio macro M4 | I file configure.in / configure.ac utilizzano macro M4 e chiamate AC_* (AC_INIT, AC_PROG_CC, AC_CHECK_LIB, ecc.) |
| Pipeline Automake | Makefile.am (input Automake) → Makefile.in (prodotto da automake) → Makefile (prodotto da ./configure) |
| Firma binaria | Nessuna - testo semplice, nessun magic byte |
| Dimensione tipica del file | 1 KB-500 KB (configure.in tipicamente 5-100 KB; Makefile.in varia ampiamente in base alla complessità del progetto) |
| Versione Autoconf attuale | GNU Autoconf 2.72, rilasciato a dicembre 2023 |
| Piattaforma | Principalmente Linux/macOS/Unix; disponibile su Windows tramite MSYS2, Cygwin o WSL |
| Estensioni correlate | .ac (file macro Autoconf), .am (modelli di input Automake), .m4 (definizioni macro M4 grezze) |
| Rilasciato | 1991 (GNU Autoconf 1.0 by David MacKenzie) |
| Ultima versione | Autoconf 2.72 (December 2023) |
| Standard aperto | Sì · royalty-free |
| Specifica | www.gnu.org |
Conversioni IN
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file IN.