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 x86-basierten Windows-System läuft und Programme für PowerPC-basierte Linux-Systeme erzeugt.

Typische Einsatzbereiche

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

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

Populäre Beispiele

Beispiel vbcc

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. Für alte 6502-basierte Computerarchitekturen gibt es den cc65-Compiler.

Einzelnachweise

  1. ↑ O. G. Kakde: Comprehensive Compiler Design. 3. Auflage. Laxmi Publications, Neu-Delhi 2005, ISBN 81-7008-645-0, S. 1 f., 1.2 What is a cross-compiler? (englisch, eingeschränkte Vorschau in der Google-Buchsuche).
  2. ↑ SDCC - Small Device C Compiler. In: SourceForge. Abgerufen am 24. September 2008 (englisch).