Unterschied zwischen Compiler und Cross Compiler

Der Hauptunterschied zwischen Compiler und Cross Compiler besteht darin, dass Compiler ist eine Software, die ein in einer höheren Programmiersprache geschriebenes Computerprogramm in Maschinensprache umwandelt, während der Cross-Compiler eine Art Compiler ist, der einen ausführbaren Code für eine andere Plattform als die, auf der der Compiler ausgeführt wird, erstellen kann.  

Programmierer schreiben Programme für den Computer in Hochsprachen. Der Computer versteht diese Programme nicht. Ein Compiler ist ein Übersetzer, der Quellcode in Maschinencode umwandeln kann. Es gibt verschiedene Arten von Compilern. Die nativen Code-Compiler konvertieren den Quellcode nur für denselben Plattformtyp. Inkrementeller Compiler kompiliert die geänderten Zeilen aus dem Quellcode und aktualisiert den Objektcode. Cross Compiler ist auch eine Art Compiler. Es ist in der Lage, ausführbaren Code für verschiedene Plattformen zu erstellen.

Wichtige Bereiche

1. Was ist der Compiler?
     - Definition, Funktionalität
2. Was ist Cross Compiler?
     - Definition, Funktionalität
3. Unterschied zwischen Compiler und Cross Compiler
     - Vergleich der wichtigsten Unterschiede

Schlüsselbegriffe

Compiler, Cross Compiler, Programmierung, Retargeting, Retargetable Compiler

Was ist ein Compiler?

Ein Computerprogramm besteht aus einer Reihe von Anweisungen, damit der Computer eine bestimmte Aufgabe ausführen kann. Die meisten Computerprogramme werden unter Verwendung hoher Programmiersprachen geschrieben. Der Computer versteht diese Programme also nicht. Daher werden sie in maschinell verständliche Maschinensprache umgewandelt. Ein Compiler ist eine Software, die diese Konvertierung durchführt. Es konvertiert das Quellprogramm in Maschinencode.

Abbildung 1: Compiler

Ein Compiler übersetzt das gesamte Programm auf einmal in Maschinencode. Die Kompilierung erfolgt vor der Ausführung. Es zeigt alle Fehlermeldungen gleichzeitig im Programm an. Es ist unmöglich, das Programm auszuführen, ohne diese Fehler zu beheben. Nach der Kompilierung erzeugen diese Programme einen Zwischenobjektcode. Daher benötigen diese Sprachen mehr Speicher. Sprachen wie C und C ++ verwenden Compiler. In der Regel werden compilerbasierte Sprachen schnell ausgeführt und sind schwer zu debuggen.

Was ist ein Cross Compiler?

Ein Cross-Compiler ist eine Art Compiler. Diese Art von Compilern kann einen ausführbaren Code für eine andere Plattform als die Plattform erstellen, auf der der Compiler ausgeführt wird. Ein Compiler, der auf einer Windows-Plattform ausgeführt wird, generiert beispielsweise auch Code, der auf einer Linux-Plattform ausgeführt wird, ein Cross-Compiler. Das Erstellen von ausführbarem Code für eine andere Maschine wird auch aufgerufen Retargeting. Daher wird der Cross-Compiler auch als a bezeichnet Retargetable Compiler. GNU GCC ist ein Beispiel für Cross Compiler. 

Unterschied zwischen Compiler und Cross Compiler

Definition

Ein Compiler ist eine Software, die den in einer höheren Programmiersprache geschriebenen Computercode in Maschinensprache übersetzt. Ein Cross-Compiler ist eine Software, die ausführbaren Code für andere Plattformen als die, auf der der Compiler ausgeführt wird, erstellen kann.

Verwendungszweck

Ein Compiler hilft dabei, den übergeordneten Quellcode in maschinenverständlichen Maschinencode umzuwandeln. Ein Cross-Compiler ist ein Compiler-Typ, der ausführbaren Code für andere Computer als den Computer erstellen kann, auf dem er ausgeführt wird.

Fazit

Der Hauptunterschied zwischen Compiler und Cross-Compiler besteht darin, dass der Compiler eine Software ist, die das in einer übergeordneten Programmiersprache geschriebene Computerprogramm in die Maschinensprache umwandelt, während der Cross-Compiler eine Art Compiler ist, der in der Lage ist, ausführbaren Code für verschiedene Plattformen zu erstellen.

Referenz:

1. „Cross Compiler“. Wikipedia, Wikimedia Foundation, 23. Juni 2018, hier verfügbar.
2. Cross Compiler, Itechnica, 7. Februar 2018, verfügbar hier.
3. „Compiler und seine Typen“. LinkedIn SlideShare, 22. September 2015, hier verfügbar.

Bildhöflichkeit:

1. “Compiler” von I, Surachit (CC BY-SA 3.0) über Commons Wikimedia