Een compiler is een programma dat de broncode in machine-instructies vertaalt in mens-achtige taal . Het eindproduct is een uitvoerbaar bestand . Compilers genereren van meer efficiënte programma's . Ze kunnen bouwen bibliotheek bestanden die implementatie te verbergen , zodat deze kunnen worden gekoppeld in het hoofdprogramma . C + + compilatie is een proces dat verschillende fasen omvat . Wat je nodig hebt C + + ontwikkelomgeving zoals Microsoft Visual C + + Toon Meer Aanwijzingen 1 Begrijp de preprocessor fase . C + + compilers beginnen compilatie door het uitvoeren van een eenvoudig programma genaamd de preprocessor . De preprocessor zet de preprocessor richtlijnen en schrijft het resultaat naar een tussenliggende bestand . Preprocessorinstructies zijn formules die de leesbaarheid te verhogen in de broncode en sla te typen . Kopen van 2 Begrijp de scan fase . Dit wordt ook wel de lexicale analyse fase . Hier is de broncode opgesplitst in haar ultieme eenheden genaamd tokens . De token kan een trefwoord , een id of een symbool naam zijn . 3 Identificeer de parsing fase . Dit is ook bekend als " syntactische analyse . " Hier wordt de lineaire sequentie van de lopers van de vorige fase gereorganiseerd het in een structuur die een ontleedboom . Een parse tree is een structuur gebouwd door de regels van de formele grammatica dat de syntax van C + + . 4 Leer over de semantische analyse fase definieert . Hier de compiler vergroot de parse tree en bouwt het symbool tafel . Deze fase omvat Typecontrole ( voorkomen van fouten met betrekking tot type matching ) , object binding ( aansluiting van de definities om aangiften voor functies en klassen ) , definitieve toewijzing ( initialisatie en operator overloading verwerking ) en de identificatie van waarschuwingen en fouten . < br > 5 Pak de machine - onafhankelijke optimalisatie fase . Hier een programma dat een wereldwijde optimizer wordt gebruikt om tussencode die is geoptimaliseerd voor een betere efficiëntie produceren . Beoordeling 6 de codegeneratie fase . Dit is waar voorlopige code wordt omgezet in de machinetaal van het systeem . Dit kan zowel assembler of machinetaal zijn. Als het assembler dan de assembler , een programma , wordt uitgevoerd . In beide gevallen is het resultaat object modules hebben als extensie , " . Obj . ' 7 Wennen aan " machine - afhankelijke optimalisatie . " In deze fase wordt de machine code die is gegenereerd is geoptimaliseerd nog meer . 8 uzelf vertrouwd met het koppelen . Hier , een programma genaamd de linker combineert de geoptimaliseerde object modules in een uitvoerbaar programma met de bekende " . Exe"- extensie die in het geheugen kunnen worden geladen en uitgevoerd door het besturingssysteem . De linker lost verwijzingen naar functies over bestanden zoals object modules of bibliotheek bestanden .
|