Manchmal sehe ich in den Quellen von Projekten „* .in“ -Dateien. Zum Beispiel eine Reihe von „Makefile.in“. Wofür sind sie und / oder was bedeutet der Teil „.in“? Ich gehe davon aus, dass dies etwas mit autoconf oder make oder so etwas zu tun hat, aber ich bin mir nicht sicher.

Ich habe versucht, nach „.in Dateierweiterung“, „autoconf .in Dateierweiterung“, „autoconf .in“, „autoconf dot in“ und anderen Varianten zu suchen, ohne Erfolg.

Kommentare

Antwort

Es ist nur eine Konvention, die angibt, dass die angegebene Datei für input ist. Nach meiner Erfahrung handelt es sich bei diesen Dateien in der Regel um eine Art generische Vorlage, aus der eine bestimmte Ausgabedatei stammt oder Skriptergebnisse.

Kommentare

  • Könnten Sie aus Interesse einige Beispiele nennen, bei denen ". in " wird auf diese Weise außerhalb des Bereichs autoconf verwendet?

Antwort

Ich glaube, der automake -Prozess mit einem Makefile.in sieht ungefähr so aus:

 Makefile.am | \"/ +--------------+ | automake | +--------------+ | \"/ Makefile.in | \"/ +--------------+ +--------------+ | ./configure |<-- | autoconf |<-- configure.in +--------------+ +--------------+ | \"/ Makefile 

Niemand schreibt tatsächlich ein Makefile.in. Die einzige vom Programmierer definierte Datei hier ist Makefile.am.

Kommentare

  • Nun, gelegentlich habe ich ' eine Makefile.in geschrieben, weil automake nicht

tu nicht was ich will.

Antwort

Das sind sie Eingabedateien für den Makro-Präprozessor m4. Diese Dateien enthalten unter anderem mit @ gekennzeichnete Makros, die um m4 erweitert werden.

Kommentare

  • Nein. Makefile.in wird niemals von irgendetwas berührt, das mit m4 zusammenhängt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.