En kompilatorutgang avhenger av programmeringsspråket og målplattformen. Generelt utgjør en kompilator
maskinkode , som er et sett med instruksjoner som er direkte forstått av en datamaskins sentrale prosesseringsenhet (CPU). Imidlertid kan det også gi andre utganger:
Vanlige utganger:
* kjørbar fil: Dette er den vanligste utgangen, som inneholder maskinkodeinstruksjonene som er klare til å utføres av datamaskinen.
* Objektfil: Denne filen inneholder den kompilerte koden for en enkelt modul eller kildefil. Det kan kreve kobling med andre objektfiler for å produsere en fullstendig kjørbar.
* Monteringskode: Noen kompilatorer genererer monteringskode som et mellomtrinn før du produserer maskinkode. Monteringskode er menneskelig lesbar og enklere å forstå enn maskinkode.
* mellomspråk (IL): Visse språk (som Java og C#) sammenstiller et mellomspråk som senere tolkes eller bare i tid satt sammen av en virtuell maskin.
mindre vanlige utganger:
* Bibliotekfil: Noen kompilatorer kan sende ut biblioteker som inneholder forhåndskompilerte funksjoner eller data som kan brukes i andre programmer.
* headerfil: Noen kompilatorer genererer overskriftsfiler som inneholder erklæringer for funksjonene og datastrukturene definert i kildekoden.
* Feilmeldinger: Kompilatoren produserer også feilmeldinger når den møter syntaksfeil eller andre problemer i kildekoden.
Eksempel:
Hvis du kompilerer et C -program som bruker en kompilator som GCC, vil du vanligvis få en kjørbar fil med utvidelsen `.exe` på Windows, eller en` .out` -fil på Linux. Denne kjørbare filen inneholder maskinkodeinstruksjonene som er nødvendige for at datamaskinen skal kjøre programmet.
Oppsummert er utgangen fra en kompilator resultatet av å oversette kildekoden til et skjema som datamaskinen kan forstå og utføre. Det spesifikke formatet på utgangen avhenger av kompilatoren og målplattformen.