Cross-Compiler - LinkFang.de





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-basierten 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, ein Programm oder auch 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 Systemen 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.
  • Die Entwicklung kann komfortabler, z. B. mittels einer IDE auf einem System vollzogen werden, siehe z. B. cc65 für den Commodore 64.

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. die GNU Compiler Collection 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.

Einzelnachweise

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

Kategorien: Programmierwerkzeug

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Cross-Compiler (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.