Vad är en programmeringskompilator?

click fraud protection

En kompilator är ett program som konverterar datorprogrammeringskod skriven av en mänsklig programmerare till binär kod (maskinkod) som kan förstås och körs av en specifik CPU. Handlingen att omvandla källkod till maskinkoden kallas "sammanställning." När all kod omvandlas på en gång innan den når plattformarna som kör den, kallas processen för tidpunkten (AOT) sammanställning.

Vilka programmeringsspråk använder en AOT-kompilator?

Många välkända programmeringsspråk kräver en kompilator inklusive:

  • Fortran
  • Pascal
  • Assembleringsspråk
  • C
  • C ++
  • Snabb

Innan Java och C # kompilerades alla datorprogram antingen eller tolkad.

Vad sägs om tolkad kod?

Tolkad kod kör instruktioner i ett program utan att sammanställa dem till maskinspråk. Den tolkade koden analyserar källkoden direkt, är i par med en virtuell maskin som översätter koden för maskinen vid tidpunkten för exekveringen eller utnyttjar förkompilerad kod. Javascript tolkas vanligtvis.

Kompilerad kod körs snabbare än tolkad kod eftersom den inte behöver göra något arbete vid den tidpunkt då åtgärden sker. Arbetet är redan gjort.

instagram viewer

Vilka programmeringsspråk använder en JIT-kompilator?

Java och C # använder just-in-time kompilatorer. Just-in-time kompilatorer är en kombination av AOT-kompilatorer och tolkar. När ett Java-program har skrivits förvandlar JIT-kompilatorn koden till bytkod snarare än till kod som innehåller instruktioner för en specifik hårdvaruplattforms processor. Bytekoden är plattformsoberoende och kan skickas och köras på valfri plattform som stöder Java. På ett sätt är programmet sammanställt i en tvåstegsprocess.

På liknande sätt använder C # en JIT-kompilator som är en del av Common Language Runtime, som hanterar exekveringen av alla .NET-applikationer. Varje målplattform har en JIT-kompilator. Så länge konvertering av mellanliggande bytekodspråk kan förstås av plattformen, körs programmet.

Fördelar och nackdelar med AOT och JIT Compilation

AOT-tidssammanställning (AOT) ger snabbare starttid, särskilt när mycket av koden körs vid start. Det kräver dock mer minne och mer diskutrymme. JOT-sammanställning måste rikta in sig på de minst kapabla för alla möjliga exekveringsplattformar.

Just-in-time-kompilering (JIT) profilerar målplattformen medan den körs och kompileras på nytt för att ge bättre prestanda. JIT genererar förbättrad kod eftersom den riktar sig mot den nuvarande plattformen, även om det vanligtvis tar mer tid att köra än AOT-kompilerad kod.

instagram story viewer