Cross-Compiler


Cross-Compiler

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.

Typische Einsatzbereiche

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 schnellen 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.
  • Sie können auf einem Integrationsserver Kompilate, z.B. Nightly Builds, für verschiedene Zielplattformen erzeugen.

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.

Populäre Beispiele

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.

Fußnoten

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

Wikimedia Foundation.

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

  • Cross Compiler —   [dt. »Kreuz Compiler«], ein Compiler, der auf einer bestimmten Hardware Plattform läuft, aber Maschinencode für eine andere Plattform erzeugt. Mit Cross Compilern kann etwa Quellcode eines Programms auf einem einfachen Computersystem für den… …   Universal-Lexikon

  • cross compiler — noun (computing) A compiler that runs on one computer, producing a machine code for a different computer • • • Main Entry: ↑cross …   Useful english dictionary

  • Cross compiler — A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is run. Cross compiler tools are used to generate executables for embedded system or multiple platforms. It is used to… …   Wikipedia

  • Cross Compiler — 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… …   Deutsch Wikipedia

  • Cross-Compiler — Crọss Compiler   [ kɔmpaɪlər, englisch], Informatik: ein Übersetzerprogramm (Compiler) für Programmiersprachen (speziell ein Assemblerprogramm beim Cross Assembler), das zur Übersetzung einen Computer benutzt, der sich in seiner Bauart und… …   Universal-Lexikon

  • cross compiler — noun A compiler that generates code for a platform other than the one it runs on …   Wiktionary

  • cross-compiler — …   Useful english dictionary

  • Cross — (engl. = Kreuz) steht für: einen Familiennamen; Namensträger siehe Cross (Familienname) Cross (Boxen), eine Schlagtechnik beim Boxen Cross, beim Tennis ein diagonal geschlagener Ball The Cross, eine britische Band Crossrad ein Zwischen oder… …   Deutsch Wikipedia

  • Compiler — This article is about the computing term. For the anime, see Compiler (anime). A diagram of the operation of a typical multi language, multi target compiler A compiler is a computer program (or set of programs) that transforms source code written …   Wikipedia

  • Compiler-Front-End — Ein Compiler (auch Übersetzer oder Kompilierer genannt) ist ein Computerprogramm, das ein in einer Quellsprache geschriebenes Programm – genannt Quellprogramm – in ein semantisch äquivalentes Programm einer Zielsprache (Zielprogramm) umwandelt.… …   Deutsch Wikipedia