Unterschied zwischen Compiler und Cross-Compiler

Inhaltsverzeichnis:

Anonim

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

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 Compiler für nativen Code konvertieren den Quellcode nur für denselben Plattformtyp. Der inkrementelle Compiler kompiliert die geänderten Zeilen aus dem Quellcode und aktualisiert den Objektcode. Cross-Compiler ist auch eine Art von Compiler. Es ist in der Lage, ausführbaren Code für verschiedene Plattformen zu erstellen.

Compiler, Cross-Compiler, Programmierung, Retargeting, Retargetable Compiler

Was ist ein Compiler?

Ein Computerprogramm besteht aus einer Reihe von Anweisungen für den Computer, um eine bestimmte Aufgabe auszuführen. Die meisten Computerprogramme werden in höheren Programmiersprachen geschrieben. Daher versteht der Computer diese Programme nicht. Daher werden sie in maschinenverständliche Maschinensprache umgewandelt. Ein Compiler ist eine Software, die diese Konvertierung durchführt. Es wandelt das Quellprogramm in Maschinencode um.

Abbildung 1: Compiler

Ein Compiler übersetzt das gesamte Programm gleichzeitig in Maschinencode. Die Kompilierung erfolgt vor der Ausführung. Es zeigt alle Fehlermeldungen im Programm auf einmal 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. Compilerbasierte Sprachen sind normalerweise schnell in der Ausführung und 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 diejenige erstellen, auf der der Compiler ausgeführt wird. Beispielsweise generiert ein Compiler, der auf einer Windows-Plattform ausgeführt wird, auch einen Code, der auf einer Linux-Plattform ausgeführt wird, ist ein Cross-Compiler. Der Prozess des Erstellens von ausführbarem Code für eine andere Maschine wird auch als. bezeichnet 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 eine Maschinensprache übersetzt. Ein Cross-Compiler ist eine Software, die ausführbaren Code für andere Plattformen als diejenige erstellen kann, auf der der Compiler ausgeführt wird.

Verwendungszweck

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

Abschluss

Der Hauptunterschied zwischen Compiler und Cross-Compiler besteht darin, dass der Compiler eine Software ist, die das in einer höheren 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, hier verfügbar. 3. „Compiler und ihre Typen“. LinkedIn SlideShare, 22. September 2015, hier verfügbar.

Bild mit freundlicher Genehmigung:

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

Unterschied zwischen Compiler und Cross-Compiler