Vad är filformatet IN?
En .in-fil är en mallfil i vanlig text som bearbetas av byggsystemet GNU Autotools. De vanligaste exemplen är Makefile.in (mall för ett projekts Makefile) och config.h.in (mall för en konfigurationsheader i C/C++). När en utvecklare kör ./configure - skriptet som genererats av GNU Autoconf - läser skriptet dessa .in-mallar, ersätter @VARIABLE@-platshållare med värden som upptäckts från byggmiljön (kompilatorsökvägar, biblioteksflaggor, systemfunktioner) och skriver de slutliga utdatafilerna.
GNU Autoconf skapades av David MacKenzie 1991 och underhålls av GNU Project. Autoconf 2.72 (december 2023) är den nuvarande versionen. Den översta makroindatafilen hette historiskt configure.in; den döptes om till configure.ac i Autoconf 2.50 för att minska tvetydighet, även om många äldre projekt fortfarande använder det ursprungliga namnet.
Vanliga typer av .in-mallar:
Makefile.in- blirMakefileefter att./configurekörtsconfig.h.in- blirconfig.hmed#define//* #undef */-ersättningarfoo.pc.in- blir en pkg-config.pc-fil
Eftersom .in-filer är vanlig text kan vilken textredigerare som helst öppna och läsa dem. Relaterade filändelser inkluderar .ac (Autoconf-makrofiler), .am (Automake-indata) och .m4 (M4-makrofiler). Notera att filändelsen .in inte är exklusiv för Autotools - CMakes kommando configure_file() använder också .in-mallar - men programvaruutvecklare som arbetar med Autotools-byggsystem representerar det dominerande användningsområdet.
Säkerhet & trygghet
RISK: LOWEn .in-mallfil är vanlig text och kan inte köra kod själv. Den är säker att öppna i en textredigerare. Det configure-skript som bearbetar .in-filer är ett shell-skript (vilket kör kod) - normal försiktighet för att köra ./configure från en okänd källa gäller. Själva .in-filen är passiv.
Formatdetaljer
i ett nötskal- McAfee VirusScan intern/temporär fil - Vissa McAfee-antivirusversioner använder .in som en intern filändelse för temporära eller karantänrelaterade data; inte ett dokumenterat offentligt format och påträffas sällan av användare.
- Generisk mall/indatafil - Många applikationer använder .in som en generisk konvention för valfri mall eller indatafil som bearbetas för att producera en utdatafil (t.ex. CMakes configure_file använder .in-mallar).
- Perl Module Build Input - Vissa Perl/CPAN-byggsystem använder .in-filer som mallar för genererade filer under modulinstallation.
Program som öppnar IN-filer
Tekniska detaljer
djup specifikation| Filkodning | Vanlig ASCII/UTF-8 text |
| Primär roll | Mallfil som används av ./configure (genererad av GNU Autoconf) för att producera slutliga byggfiler |
| Platshållarsyntax | @VARIABLE@-markörer som ersätts av configure med upptäckta systemvärden (kompilatorsökväg, biblioteksflaggor, funktionsflaggor) |
| Vanliga malltyper | Makefile.in → Makefile; config.h.in → config.h; foo.pc.in → foo.pc (pkg-config metadata) |
| Struktur för config.h.in | Innehåller #undef FEATURE-direktiv; configure ersätter dem med #define FEATURE 1 eller /* #undef FEATURE */ |
| configure.in kontra configure.ac | configure.in är det äldre namnet för Autoconfs makroindata på toppnivå; döptes om till configure.ac i Autoconf 2.50 |
| Makrospråket M4 | configure.in / configure.ac-filer använder M4-makron och AC_*-anrop (AC_INIT, AC_PROG_CC, AC_CHECK_LIB, etc.) |
| Automake-pipeline | Makefile.am (Automake-indata) → Makefile.in (producerad av automake) → Makefile (producerad av ./configure) |
| Binär signatur | Ingen - vanlig text, inga magic bytes |
| Typisk filstorlek | 1 KB-500 KB (configure.in är vanligtvis 5-100 KB; Makefile.in varierar kraftigt beroende på projektets komplexitet) |
| Nuvarande Autoconf-version | GNU Autoconf 2.72, släppt december 2023 |
| Plattform | Främst Linux/macOS/Unix; tillgängligt på Windows via MSYS2, Cygwin eller WSL |
| Relaterade filändelser | .ac (Autoconf-makrofiler), .am (Automake-mallar), .m4 (råa M4-makrodefinitioner) |
| Släppt | 1991 (GNU Autoconf 1.0 by David MacKenzie) |
| Senaste version | Autoconf 2.72 (December 2023) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | www.gnu.org |
IN-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om IN-filer.