Crosscompiler

Crosscompiler

Unter einem Cross-Compiler versteht man einen Compiler, der auf einem bestimmten System (auch Hostplattform genannt) läuft, aber Kompilate (Objektdateien oder ausführbare Programme) für andere Systeme erzeugt. Diese Ziel-Systeme können andere Betriebssysteme, andere Prozessoren oder eine Kombination der beiden sein. Ein konkretes Beispiel wäre ein Compiler der auf einem Intel-basiertem Windows System läuft und Programme für PowerPC-basierte Linux-Systeme erzeugt. Handelt es sich bei der Zielplattform um ein eingebettetes System, das selbst nicht für Entwicklung und Übersetzung geeignet ist, spricht man auch von einem Target-Compiler.

Cross-Compiler werden aus verschiedenen Gründen benötigt und eingesetzt:

  • Mit ihnen kann ein Betriebssystem oder der Compiler selbst auf eine neue Hardwareplattform portiert werden auf der das Betriebssystem oder Compiler bisher noch nicht verfügbar war.
  • Es lassen sich mit ihnen Programme für eingebettete Systeme erstellen die nicht über die Ressourcen verfügen um selbst einen Compiler laufen zu lassen (z. B. wenn diese Systeme zu wenig Arbeitsspeicher haben oder keine Festplatte besitzen).
  • Sie können auf hoch-performanten Systemen laufen und für langsamere Systeme Kompilate erzeugen. Dadurch kann unter Umständen sehr viel Zeit gespart werden. Gerade bei eingebetteten System werden häufig vergleichsweise langsame Prozessoren verwendet die Stunden benötigen würden um ein gewünschtes Programm zu erzeugen während ein aktueller Server diese Arbeit eventuell in wenigen Minuten erledigen kann.

Populäre freie Compiler, die zum Teil für den Einsatz als Cross-Compiler geeignet sind, sind z. B. der GNU C Compiler und der Free Pascal-Compiler. Für einige 8-Bit-Zielsysteme (Mikrocontroller aus der MCS-51-Serie, Zilog Z80, Dallas 80C390, Motorola HC08, Microchip PIC) eignet sich der ebenfalls freie Small Device C Compiler[1]. Für alte 6502-basierte Computerarchitekturen gibt es den cc65-Compiler.

Viele Hersteller von Prozessoren für eingebettete Systeme liefern ihren Kunden entsprechende Target-Compiler mit, meist für die Programmiersprache C und lauffähig auf einem oder mehreren gängigen Betriebssystemen.

Fußnoten

  1. http://sdcc.sourceforge.net SDCC

Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Crosscompiler — Cross|com|pi|ler [...kɔmpailɐ] der; s, : ein Übersetzerprogramm für Programmiersprachen (EDV) …   Das große Fremdwörterbuch

  • Eingebettete Software — Der Ausdruck eingebettetes System (auch engl. embedded system) bezeichnet einen elektronischen Rechner oder auch Computer, der in einen technischen Kontext eingebunden (eingebettet) ist. Dabei hat der Rechner entweder die Aufgabe, das System, in… …   Deutsch Wikipedia

  • Eingebettete Systeme — Der Ausdruck eingebettetes System (auch engl. embedded system) bezeichnet einen elektronischen Rechner oder auch Computer, der in einen technischen Kontext eingebunden (eingebettet) ist. Dabei hat der Rechner entweder die Aufgabe, das System, in… …   Deutsch Wikipedia

  • Embedded Computing — Der Ausdruck eingebettetes System (auch engl. embedded system) bezeichnet einen elektronischen Rechner oder auch Computer, der in einen technischen Kontext eingebunden (eingebettet) ist. Dabei hat der Rechner entweder die Aufgabe, das System, in… …   Deutsch Wikipedia

  • Embedded System — Der Ausdruck eingebettetes System (auch engl. embedded system) bezeichnet einen elektronischen Rechner oder auch Computer, der in einen technischen Kontext eingebunden (eingebettet) ist. Dabei hat der Rechner entweder die Aufgabe, das System, in… …   Deutsch Wikipedia

  • Embedded Systems — Der Ausdruck eingebettetes System (auch engl. embedded system) bezeichnet einen elektronischen Rechner oder auch Computer, der in einen technischen Kontext eingebunden (eingebettet) ist. Dabei hat der Rechner entweder die Aufgabe, das System, in… …   Deutsch Wikipedia

  • Embedded device — Der Ausdruck eingebettetes System (auch engl. embedded system) bezeichnet einen elektronischen Rechner oder auch Computer, der in einen technischen Kontext eingebunden (eingebettet) ist. Dabei hat der Rechner entweder die Aufgabe, das System, in… …   Deutsch Wikipedia

  • Eingebettetes System — Der Ausdruck eingebettetes System (auch engl. embedded system) bezeichnet einen elektronischen Rechner oder auch Computer, der in einen technischen Kontext eingebunden (eingebettet) ist. Dabei hat der Rechner entweder die Aufgabe, das System, in… …   Deutsch Wikipedia

  • EISC — The EISC (Extendable Instruction Set Computer) is a compressed code processor architecture for embedded applications. It has both the properties of RISC architecture,simplicity, and that of CISC processor,expenablity. The architecture is… …   Wikipedia

  • ASURO — fertig zusammengebaut ASURO ist ein frei in C programmierbarer Roboter, der vom Institut für Robotik und Mechatronik (am Deutschen Zentrum für Luft und Raumfahrt) in Oberpfaffenhofen entwickelt wurde. ASURO ist das Akronym für Another Small and… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”