Skillnad mellan kompilator och tvärkompiler

Huvudskillnaden mellan kompilator och tvärkompiler är att kompilatorn är en programvara som omvandlar ett datorprogram skrivet på högnivå programmeringsspråk till maskinens språk medan kors-kompilatorn är en typ av en kompilator som kan skapa en körbar kod för en annan plattform än den som kompilatorn körs på.  

Programmerare skriver program för datorn på högnivå språk. Datorn förstår inte dessa program. En kompilator är en översättare som kan omvandla källkoden till en maskinkod. Det finns olika typer av kompilatorer. Native code compilers konverterar källkoden endast för samma typ av plattform. Inkrementell kompilator sammanställer de ändrade linjerna från källkoden och uppdaterar objektkoden. Kors kompilator är också en typ av kompilator. Det kan skapa exekverbar kod för olika plattformar.

Viktiga områden som omfattas

1. Vad är Compiler
     - Definition, Funktionalitet
2. Vad är Cross Compiler
     - Definition, Funktionalitet
3. Skillnad mellan kompilator och tvärkompiler
     - Jämförelse av viktiga skillnader

Nyckelbegrepp

Kompilator, Cross Compiler, Programmering, Retargeting, Retargetable Compiler

Vad är en kompilator

Ett datorprogram består av en uppsättning instruktioner för att datorn ska kunna utföra en viss uppgift. De flesta datorprogram skrivs med hjälp av programmeringsspråk på hög nivå. Således förstår inte datorn dessa program. Därför omvandlas de till maskinens förståeligt, maskinspråk. En kompilator är en programvara som utför denna omvandling. Det konverterar källprogrammet till maskinkod.

Figur 1: Kompilator

En kompilator översätter hela programmet till maskinkod åt gången. Sammanställningen sker före körningen. Det visar alla felmeddelanden i programmet samtidigt. Det är omöjligt att genomföra programmet utan att fixa dessa fel. Efter sammanställningen genererar dessa program en mellanliggande objektkod. Därför kräver dessa språk mer minne. Språk som C och C ++ använder kompilatorer. Vanligtvis är kompilatorbaserade språk snabba i körning och svåra att felsöka.

Vad är en Cross Compiler

En kors-kompilator är en typ av kompilator. Denna typ av kompilatorer kan skapa en körbar kod för en annan plattform än den som kompilatorn körs på. Till exempel genererar en kompilator som körs på Windows-plattformen en kod som körs på Linux-plattformen en kors-kompilator. Processen att skapa körbar kod för en annan maskin kallas också retargeting. Därför är korskompilatorn också känd som en omriktningsbar kompilator. GNU GCC är ett exempel för cross compiler. 

Skillnad mellan kompilator och tvärkompiler

Definition

En kompilator är en mjukvara som översätter datorkoden som skrivs på högnivå programmeringsspråk till maskinens språk. En kors-kompilator är en programvara som kan skapa exekverbar kod för andra plattformar än den som kompilatorn körs på.

Användande

En kompilator hjälper till att konvertera källkoden på hög nivå till maskinens förståelig maskinkod. En kors-kompilator är en typ av kompilator som kan skapa exekverbar kod för olika maskiner än den maskinen den körs på.

Slutsats

Huvudskillnaden mellan kompilator och tvärkompiler är att kompilatorn är en mjukvara som omvandlar datorprogrammet som skrivs på ett högpråket programmeringsspråk till maskinens språk medan cross compiler är en typ av kompilator som kan skapa exekverbar kod för olika plattformar.

Referens:

1. "Cross Compiler." Wikipedia, Wikimedia Foundation, 23 juni 2018, Tillgänglig här.
2. Cross Compiler, Itechnica, 7 Feb. 2018, Tillgänglig här.
3. "Kompilator och deras typer". LinkedIn SlideShare, 22 september 2015, Tillgänglig här.

Image Courtesy:

1. "Compiler" Av I, Surachit (CC BY-SA 3.0) via Commons Wikimedia