C-Programmierung: Kompilierung

Aus Wikibooks

Um C-Programme ausführen zu können, müssen diese erst in die Maschinensprache übersetzt werden. Diesen Vorgang nennt man kompilieren.

Anschließend wird der beim Kompilieren entstandene Objektcode mit einem Linker gelinkt, so dass alle eingebundenen Bibliotheksfunktionen verfügbar sind. Das gelinkte Produkt aus einer oder verschiedenen Objektcode-Dateien und den Bibliotheken ist dann das ausführbare Programm.

Compiler[Bearbeiten]

Um die erstellten Code-Dateien zu kompilieren, benötigt man selbstverständlich auch einen Compiler. Je nach Plattform hat man verschiedene Alternativen:

Microsoft Windows[Bearbeiten]

Wer zu Anfang nicht all zu viel Aufwand betreiben will, kann mit relativ kleinen Compilern (ca. 5-20 MByte) inkl. IDE/Editor anfangen:

  • Pelles C, kostenlos. Für WIN64.
  • lcc-win, kostenlos für private Zwecke. Für WIN64 und WIN32.
  • Orange C oder der Vorgänger cc386, Open Source. Für WIN32.

Wer etwas mehr Aufwand (finanziell oder an Download) nicht scheut, kann zu größeren Paketen inkl. IDE greifen:

Wer einen (kostenlosen) Kommandozeilen-Compiler bevorzugt, kann zusätzlich zu obigen noch auf folgende Compiler zugreifen:

Unix und Linux[Bearbeiten]

Für alle Unix Systeme existieren C-Compiler, die meist auch schon vorinstalliert sind. Insbesondere, bzw. darüber hinaus, existieren folgende Compiler:

Alle gängigen Linux-Distributionen stellen außerdem zahlreiche Entwicklungsumgebungen zur Verfügung, die vor allem auf den GNU C Compiler zurückgreifen.

Macintosh[Bearbeiten]

Apple stellt selbst einen Compiler mit Entwicklungsumgebung zur Verfügung:

Amiga[Bearbeiten]

  • SAS/C, kommerziell
  • vbcc, frei
  • GCC

Atari[Bearbeiten]

  • GNU C Compiler, existiert auch in gepflegter Fassung für das freie Posix Betriebssystem MiNT, auch als Crosscompiler.
  • AHCC, ein Pure-C kompatibler Compiler/Assembler, funktioniert auch unter Single-TOS und ist ebenfalls Open Source.


Neben diesen gibt es noch zahllose andere C-Compiler, von optimierten Intel- oder AMD-Compilern bis hin zu Compilern für ganz exotische Plattformen (cc65 für 6502).

GNU C Compiler[Bearbeiten]

Der GNU C Compiler, Teil der GCC (GNU Compiler Collection), ist wohl der populärste Open-Source-C-Compiler und ist für viele verschiedene Plattformen verfügbar. Er ist in der GNU Compiler Collection enthalten und der Standard-Compiler für GNU/Linux und die BSD-Varianten.

Compileraufruf: gcc Quellcode.c -o Programm

Der GCC kompiliert und linkt nun die "Quellcode.c" und gibt es als "Programm" aus. Das Flag -c sorgt dafür, dass nicht gelinkt wird und bei -S wird auch nicht assembliert. Der GCC enthält nämlich einen eigenen Assembler, den GNU Assembler, der als Backend für die verschiedenen Compiler dient. Um Informationen über weitere Parameter zu erhalten, verwenden Sie bitte man gcc.

Microsoft Visual Studio[Bearbeiten]

Die Microsoft Entwicklungsumgebung enthält eine eigene Dokumentation und ruft den Compiler nicht über die Kommandozeile auf, sondern ermöglicht die Bedienung über ihre Oberfläche.

Bevor Sie allerdings mit der Programmierung beginnen können, müssen Sie ein neues Projekt anlegen. Dazu wählen Sie in den Menüleiste den Eintrag "Datei" und "Neu..." aus. Im folgenden Fenster wählen Sie im Register "Projekte" den Eintrag "Win32-Konsolenanwendung" aus und geben einen Projektnamen ein. Verwechseln Sie nicht den Projektnamen mit dem Dateinamen! Die Endung .c darf hier deshalb noch nicht angegeben werden. Anschließen klicken Sie auf "OK" und "Fertigstellen" und nochmals auf "OK".

Nachdem Sie das Projekt erstellt haben, müssen Sie diesem noch eine Datei hinzufügen. Rufen Sie dazu nochmals den Menüeintrag "Datei" - "Neu..." auf und wählen Sie in der Registerkarte "Dateien" den Eintrag "C++ Quellcodedateien" aus. Dann geben Sie den Dateinamen ein, diesmal mit der Endung .c und bestätigen mit "OK". Der Dateiname muss nicht gleich dem Projektname sein.

In Visual Studio 6 ist das Kompilieren im Menü "Erstellen" unter "Alles neu erstellen" möglich. Das Programm können Sie anschließend in der "Eingabeaufforderung" von Windows ausführen.