Hvad er IN-filformatet?
En .in-fil er en almindelig tekst-skabelonfil, der behandles af GNU Autotools-byggesystemet. De mest almindelige eksempler er Makefile.in (skabelon til et projekts Makefile) og config.h.in (skabelon til en C/C++ konfigurations-header). Når en udvikler kører ./configure - scriptet genereret af GNU Autoconf - læser scriptet disse .in-skabeloner, erstatter @VARIABLE@-pladsholdere med værdier fundet i byggemiljøet (compiler-stier, biblioteks-flags, systemfunktioner) og skriver de endelige output-filer.
GNU Autoconf blev skabt af David MacKenzie i 1991 og vedligeholdes af GNU Project. Autoconf 2.72 (december 2023) er den nuværende version. Den overordnede makro-inputfil hed historisk configure.in; den blev omdøbt til configure.ac i Autoconf 2.50 for at mindske tvetydighed, selvom mange ældre projekter stadig bruger det oprindelige navn.
Almindelige .in-skabelontyper:
Makefile.in- bliver tilMakefileefter./configureer kørtconfig.h.in- bliver tilconfig.hmed#define//* #undef */erstatningerfoo.pc.in- bliver til en pkg-config.pc-fil
Da .in-filer er almindelig tekst, kan enhver editor åbne og læse dem. Relaterede filendelser inkluderer .ac (Autoconf-makrofiler), .am (Automake-input) og .m4 (M4-makrofiler). Bemærk, at .in-filendelsen ikke er eksklusiv for Autotools - CMakes configure_file()-kommando bruger også .in-skabeloner - men softwareudviklere, der arbejder med Autotools-byggesystemer, repræsenterer det dominerende anvendelsesscenarie.
Sikkerhed og tryghed
RISIKO: LOWEn .in-skabelonfil er almindelig tekst og kan ikke udføre kode i sig selv. Den er sikker at åbne i en teksteditor. Det configure-script, der behandler .in-filer, er et shell-script (som udfører kode) - den normale forsigtighed ved kørsel af ./configure fra en utroværdig kilde gælder. Selve .in-filen er passiv.
Formatdetaljer
kort fortalt- McAfee VirusScan intern/midlertidig fil - Nogle McAfee antivirus-versioner bruger .in som en intern filendelse til midlertidige eller karantæne-relaterede data; ikke et dokumenteret offentligt format og sjældent set af brugere.
- Generisk skabelon/input-fil - Mange applikationer bruger .in som en generisk konvention for enhver skabelon eller inputfil, der behandles for at producere en outputfil (f.eks. bruger CMakes configure_file .in-skabeloner).
- Perl Module Build Input - Nogle Perl/CPAN-byggesystemer bruger .in-filer som inputskabeloner til genererede filer under modulinstallation.
Programmer der åbner IN-filer
Tekniske detaljer
dyb specifikation| Filkodning | Almindelig ASCII/UTF-8 tekst |
| Primær rolle | Skabelonfil brugt af ./configure (genereret af GNU Autoconf) til at producere endelige build-outputfiler |
| Pladsholder-syntaks | @VARIABLE@-markører erstattet af configure med fundne systemværdier (compiler-sti, biblioteks-flags, funktions-flags) |
| Almindelige skabelontyper | Makefile.in → Makefile; config.h.in → config.h; foo.pc.in → foo.pc (pkg-config metadata) |
| config.h.in struktur | Indeholder #undef FEATURE-direktiver; configure erstatter dem med #define FEATURE 1 eller /* #undef FEATURE */ |
| configure.in vs configure.ac | configure.in er det ældre navn for den overordnede Autoconf-makroinput; omdøbt til configure.ac i Autoconf 2.50 |
| M4 makrosprog | configure.in / configure.ac-filer bruger M4-makroer og AC_*-kald (AC_INIT, AC_PROG_CC, AC_CHECK_LIB osv.) |
| Automake-pipeline | Makefile.am (Automake-input) → Makefile.in (produceret af automake) → Makefile (produceret af ./configure) |
| Binær signatur | Ingen - almindelig tekst, ingen magic bytes |
| Typisk filstørrelse | 1 KB-500 KB (configure.in typisk 5-100 KB; Makefile.in varierer meget efter projektets kompleksitet) |
| Nuværende Autoconf-version | GNU Autoconf 2.72, udgivet december 2023 |
| Platform | Primært Linux/macOS/Unix; tilgængelig på Windows via MSYS2, Cygwin eller WSL |
| Relaterede filendelser | .ac (Autoconf-makrofiler), .am (Automake-inputskabeloner), .m4 (rå M4-makrodefinitioner) |
| Udgivet | 1991 (GNU Autoconf 1.0 by David MacKenzie) |
| Seneste version | Autoconf 2.72 (December 2023) |
| Åben standard | Ja · royaltyfri |
| Specifikation | www.gnu.org |
IN-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om IN-filer.