Compilers

Welke algemene volgorde waarin uit een C-programma een uitvoerbaar bestand ontstaat is juist?

  1. ALinken → compileren → assembleren
  2. BAssembleren → linken → compileren
  3. CCompileren → assembleren → linken
Antwoord en toelichting tonen

Antwoord: C. Compileren → assembleren → linken

Een C-bronbestand wordt eerst door de compiler omgezet in assembleertaal die dicht bij machinecode ligt (of rechtstreeks in een objectbestand) en door de assembler in een objectbestand met machinecode. Ten slotte voegt de linker meerdere objectbestanden en bibliotheken samen, bepaalt de adressen van functies en variabelen en maakt het uitvoerbare bestand. In het objectbestand staan de adressen van functies in andere bestanden nog niet vast. Bij andere volgordes is de uitvoer van de vorige fase niet de invoer van de volgende.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Compilers

  1. Hoe heet de optimalisatie waarbij een korte reeks gegenereerde machinecode door een klein venster wordt bekeken en onnodige combinaties van instructies door betere instructies worden vervangen?
  2. Welke combinatie van een optimalisatie die na het inlinen van sq in de bovenstaande code volgt en het resultaat daarvan is juist?
  3. Welke uitspraak over software pipelining is juist?
  4. Waarom herordent een compiler onder strikte instellingen de optelling (a + b) + c van floating-pointgetallen niet eigenmachtig tot a + (b + c)?
  5. Welk soort instructie wordt gebruikt bij automatische vectorisatie door een compiler?

Vergelijkingen bij dit onderwerp