De output van een compiler is afhankelijk van de programmeertaal en het doelplatform. Over het algemeen voert een compiler uit machinecode , wat een reeks instructies is die rechtstreeks wordt begrepen door de centrale verwerkingseenheid van een computer (CPU). Het kan echter ook andere uitgangen produceren:
Gemeenschappelijke uitgangen:
* uitvoerbaar bestand: Dit is de meest voorkomende uitvoer, die de instructies voor de machinecode bevat die klaar zijn om door de computer te worden uitgevoerd.
* Objectbestand: Dit bestand bevat de gecompileerde code voor een enkele module of bronbestand. Mogelijk vereist het koppelen met andere objectbestanden om een volledig uitvoerbaar bestand te produceren.
* Assemblagecode: Sommige compilers genereren assemblagecode als een tussenstap voordat ze machinecode produceren. Assemblagecode is door mensen leesbaar en gemakkelijker te begrijpen dan machinecode.
* Gemiddelde taal (IL): Bepaalde talen (zoals Java en C#) compileren naar een tussenliggende taal die later wordt geïnterpreteerd of rechtvaardig wordt samengesteld door een virtuele machine.
Minder veel voorkomende uitgangen:
* bibliotheekbestand: Sommige compilers kunnen bibliotheken uitvoeren die vooraf gecompileerde functies of gegevens bevatten die in andere programma's kunnen worden gebruikt.
* header -bestand: Sommige compilers genereren headerbestanden die aangiften bevatten voor de functies en gegevensstructuren die zijn gedefinieerd in de broncode.
* Foutmeldingen: De compiler produceert ook foutmeldingen wanneer hij syntaxisfouten of andere problemen in de broncode tegenkomt.
Voorbeeld:
Als u een C -programma compileert met een compiler zoals GCC, krijgt u meestal een uitvoerbaar bestand met de extensie `.exe` op Windows of een` .out' -bestand op Linux. Dit uitvoerbare bestand bevat de instructies van de machinecode die de computer nodig heeft om het programma uit te voeren.
Samenvattend is de uitvoer van een compiler het resultaat van het vertalen van de broncode in een vorm die de computer kan begrijpen en uitvoeren. Het specifieke formaat van de uitgang hangt af van de compiler en het doelplatform. |