En kompilers output afhænger af programmeringssproget og målplatformen. Generelt udgår en kompilator
maskinkode , som er et sæt instruktioner, der direkte forstås af en computers centrale behandlingsenhed (CPU). Det kan dog også producere andre output:
Almindelige output:
* eksekverbar fil: Dette er den mest almindelige output, der indeholder maskinekodeinstruktionerne klar til at blive udført af computeren.
* Objektfil: Denne fil indeholder den kompilerede kode til et enkelt modul- eller kildefil. Det kræver muligvis at linke med andre objektfiler for at producere en komplet eksekverbar.
* samlingskode: Nogle kompilatorer genererer samlingskode som et mellemtrin, før de producerer maskinkode. Samlingskode er menneskelig læsbar og lettere at forstå end maskinkode.
* mellemsprog (IL): Visse sprog (som Java og C#) samles til et mellemsprog, der senere fortolkes eller just-in-time kompileret af en virtuel maskine.
Mindre almindelige output:
* biblioteksfil: Nogle kompilatorer kan udsende biblioteker, der indeholder forudkompilerede funktioner eller data, der kan bruges i andre programmer.
* headerfil: Nogle kompilatorer genererer header -filer, der indeholder erklæringer for de funktioner og datastrukturer, der er defineret i kildekoden.
* Fejlmeddelelser: Kompilatoren producerer også fejlmeddelelser, når den møder syntaksfejl eller andre problemer i kildekoden.
Eksempel:
Hvis du kompilerer et C -program ved hjælp af en kompilator som GCC, ville du typisk få en eksekverbar fil med udvidelsen '.exe' på Windows eller en '.out' -fil på Linux. Denne eksekverbare fil indeholder de maskinskodeinstruktioner, der er nødvendige for, at computeren kører programmet.
Sammenfattende er output fra en kompilator resultatet af at oversætte kildekoden til en formular, som computeren kan forstå og udføre. Det specifikke format af output afhænger af kompilatoren og målplatformen.