1.3    Die nötigen Werkzeuge für C

An dieser Stelle können Sie natürlich noch kein einziges Programm starten. Anders als manche Skriptsprachen (wie z. B. Ruby oder Python), sind C-Quellcodes nicht direkt ausführbar (dies gilt übrigens auch für Java). Um aus einem einfachen C-Quellcode eine ausführbare Datei zu erstellen, gibt es im Grunde zwei Wege – einen »ungemütlichen« und einen »gemütlichen«. Am Anfang der C-Programmierung und auf den ersten Linux-Systemen gab es nur den unbequemen Weg. Der unbequeme Weg (wobei dies auch Ansichtssache ist) besteht aus den folgenden Schritten:

  1. Sie können den Quellcode in einen beliebigen ASCII-Texteditor eintippen und abspeichern.

  2. Sie können den Quellcode mit einem Compiler übersetzen, wodurch eine Objektdatei (*.obj oder *.o) erzeugt wird.

  3. Sie können die Objektdatei mit einem Linker binden, was eine ausführbare Datei erzeugt. Der Linker sucht dabei alle benötigten Funktionen aus den Standardbibliotheken heraus und fügt sie anschließend dem fertigen Programm hinzu.

Für diesen manuellen Weg brauchen Sie also nur einen einfachen ASCII-Texteditor, einen Compiler und einen Linker. All diese Dinge sind frei im Internet verfügbar, Sie haben also keinerlei Kosten, wenn Sie die manuelle Methode wählen. Den Compiler und den Linker müssen Sie dann später aus der Kommandozeile heraus aufrufen. In der Praxis wird allerdings eher selten zwischen Compiler und Linker unterschieden, und wenn die Rede von einem Compiler ist, ist damit meistens gleichzeitig auch der Linker als komplette Einheit gemeint. Abbildung 1.1 zeigt diesen Übersetzungsvorgang in vereinfachter Form.

Die Grundlagen, um aus einem Quellcode mit einfachsten Mitteln eine ausführbare Datei zu generieren

Abbildung 1.1    Die Grundlagen, um aus einem Quellcode mit einfachsten Mitteln eine ausführbare Datei zu generieren

Der bequemere Weg führt über eine All-in-one-Lösung, eine Entwicklungsumgebung. Wie der Name schon vermuten lässt, finden Sie hier alles, was Sie zum Programmieren benötigen, in einem Fenster. Das populärste Beispiel für eine Entwicklungsumgebung ist sicherlich Microsoft Visual Studio oder auch das frei verfügbare Pelles C.

Der komfortablere Weg, um ein ausführbares Programm zu erstellen, führt über eine Entwicklungsumgebung.

Abbildung 1.2    Der komfortablere Weg, um ein ausführbares Programm zu erstellen, führt über eine Entwicklungsumgebung.

Eine Entwicklungsumgebung bietet natürlich meistens weitaus mehr als nur Texteditor, Compiler und Linker. Häufig finden Sie hier auch einen Debugger. Ein Debugger ist ein Tool zum schrittweisen Durchlaufen eines C-Programms, wodurch Sie sehr gut Fehler finden können. Fehler werden oft als Bugs (Wanzen) bezeichnet, ein Debugger ist also quasi ein »Entwanzer«. Oft gibt es auch eine Projektverwaltung, um die Übersicht über noch zu erledigende Aufgaben zu behalten, oder einen Profiler, um die Laufzeit des Programms zu analysieren und zu optimieren. Vor allem, wenn Sie Spiele oder 3D-Anwendungen programmieren, kommen Sie quasi nicht ohne Profiler aus.

Ich empfehle Ihnen, sich stets einen aktuellen Compiler zu besorgen und zu verwenden. Wenn es Ihnen darauf ankommt, dass er zumindest mit dem C11-Standard etwas anfangen kann, bieten sich die folgenden Compiler an: