Die Ausgabe eines Compilers hängt von der Programmiersprache und der Zielplattform ab. Im Allgemeinen gibt ein Compiler
Maschinencode aus , das ist eine Reihe von Anweisungen, die direkt durch die zentrale Verarbeitungseinheit (CPU) eines Computers verstanden werden. Es kann jedoch auch andere Ausgänge erzeugen:
gemeinsame Ausgänge:
* ausführbare Datei: Dies ist die häufigste Ausgabe, die die Maschinencode -Anweisungen enthält, die vom Computer ausgeführt werden können.
* Objektdatei: Diese Datei enthält den kompilierten Code für ein einzelnes Modul oder eine Quelldatei. Möglicherweise ist eine Verknüpfung mit anderen Objektdateien erforderlich, um eine vollständige ausführbare Datei zu erstellen.
* Assemblercode: Einige Compiler generieren Assemblercode als Zwischenschritt, bevor der Maschinencode erstellt wird. Der Assembly-Code ist menschlich lesbar und leichter zu verstehen als der Maschinencode.
* Zwischensprache (IL): Bestimmte Sprachen (wie Java und C#) kompilieren zu einer mittleren Sprache, die später interpretiert oder von einer virtuellen Maschine zusammengestellt wird.
weniger häufige Ausgänge:
* Bibliotheksdatei: Einige Compiler können Bibliotheken ausgeben, die vorbereitete Funktionen oder Daten enthalten, die in anderen Programmen verwendet werden können.
* Header -Datei: Einige Compiler generieren Headerdateien, die Deklarationen für die im Quellcode definierten Funktionen und Datenstrukturen enthalten.
* Fehlermeldungen: Der Compiler erzeugt auch Fehlermeldungen, wenn er auf Syntaxfehler oder andere Probleme im Quellcode trifft.
Beispiel:
Wenn Sie ein C -Programm mit einem Compiler wie GCC kompilieren, erhalten Sie normalerweise eine ausführbare Datei mit der Erweiterung `.exe` unter Windows oder einer` .out` -Datei unter Linux. Diese ausführbare Datei enthält die Anweisungen für den Maschinencode, die für den Computer erforderlich sind, um das Programm auszuführen.
Zusammenfassend ist die Ausgabe eines Compilers das Ergebnis der Übersetzung des Quellcode in ein Formular, das der Computer verstehen und ausführen kann. Das spezifische Format der Ausgabe hängt vom Compiler und der Zielplattform ab.