C++ Kurs

Die Entwicklungsumgebung

Die Themen:

Einleitung
Editor
Compiler
Linker
MS Visual C++ 2008 Express Edition

Einleitung

Als Einstieg in den C++ Kurs wollen wir uns zunächst einmal ansehen, welche Komponenten benötigt werden um ein C++ Programm zu erstellen. Bei den meisten C++ Entwicklungsumgebungen sind die in dieser Lektion vorgestellten Komponenten Editor, Compiler und Linker zwar unter einer einheitlichen Oberfläche, der so genannten IDE (Integrated Development Environment) zusammengefasst, jedoch sollten Ihnen Begriffe wie Compiler und Linker bekannt sein. Auch bei der in diesem Kurs verwendeten MS Visual C++ 2008 Express Edition sind all diese Komponenten innerhalb der IDE verborgen.

Sollten Ihnen die Begriffe Compiler und Linker schon bekannt sein, so können entweder gleich zur Beschreibung der MS Visual C++ Express Edition übergehen oder mit dem Kurs auf der nächsten Seite beginnen.

Verwenden Sie einen anderen C++ Compiler, so stellen Sie jetzt auf jeden Fall sicher, dass dieser vollständig und richtig installiert ist.

Editor

Fangen wir mit der Eingabe eines C++ Programms an. Für die Eingabe des Programms können Sie jeden beliebigen ASCII-Editor benutzen, z.B. unter WINDOWS das Programm NOTEPAD. Was Sie aber auf keinen Fall verwenden dürfen, sind Editoren die Texte formatieren, wie z.B. MS Word. Diese Editoren legen außer dem eigentlichen Text noch Steuerzeichen mit in der Datei ab, die dann später den Compiler mit Sicherheit etwas ins Schleudern bringen.

Haben Sie Ihr Programm im Editor fertig eingegeben, so sollten Sie die Datei vorzugsweise unter einen Namen mit der Extension cpp speichern. Auf manchen System erhalten C++ Programme auch eine andere Extension, wie z.B. cxx. Auf keinen Fall sollten Sie die Extension c verwenden, da einige C++ Compiler sonst annehmen, Sie wollen ein C Programm und nicht ein C++ Programm erstellen. Und C Programme besitzen u.a. nur eine Untermenge der Schlüsselwörter eines C++ Programms.

Diese mit dem Editor erstellten Dateien werden auch Quellcode-Dateien bezeichnet. Ist Ihr Projekt umfangreicher als die in diesem Kurs verwendeten Beispiele, so sollten Sie ihr Projekt in logische Einheiten untergliedern und für jede dieser logischen Einheit eine eigene Quellcode-Datei anlegen. Nehmen wir einmal an, Sie wollen eine Anwendung erstellen, die eine beliebige Berechnung durchführt und dieses dann ausgibt, so unterteilen Sie Anwendung zunächst in einen Berechnungsteil und einen Ausgabeteil. Die Quellcode-Datei für die Berechnungen nennen Sie dann z.B. algo.cpp und die für die Ausgabe result.cpp. Wie Sie diese Quellcode-Dateien dann zu einer ausführbaren Datei zusammenbauen, erfahren Sie nun.

Compiler

Nach dem Sie die Quellcode-Dateien eingegeben haben, müssen Sie diese mit dem Compiler übersetzen. Beim Übersetzen der Quellcode-Dateien wird aus dem ASCII Quelltext zunächst nur einmal ein Zwischencode erzeugt, der in einer entsprechenden Datei abgelegt wird. Dateien mit dem Zwischencode haben sehr oft die Extension obj oder o und werden als Objekt-Dateien bezeichnet.

Der Grund für diesen 'Zwischenschritt' liegt unter anderem darin, dass Ihr mit dem Editor eingegebenes Programm alleine noch nicht lauffähig ist, sondern zusätzliche Funktionalität benötigt die vom Compiler-Hersteller zur Verfügung gestellt wird. Dazu gehören z.B. Funktionen für die Ein- und Ausgabe oder auch trigonometrischen Funktionen wie sin(...). Diese Funktionen liegen in der so genannten CRT (C Runtime Library) die Sie Ihrem Programm im nächsten Schritt noch hinzufügen. Dateien, die CRT-Funktionen enthalten, haben sehr oft die Extension lib.

Doch was enthält so eine Objekt-Datei? Eine Objekt-Datei enthält im Prinzip den ausführbaren Code der übersetzen Quellcode-Datei, aber noch ohne Bezug auf bestimmte (absolute, fixe) Adresse, die die  Lage des Codes im Speicher angibt.

Linker

Der letzte Schritt bei der Erstellung eines C++ Programms ist das Zusammenbinden der verschiedenen Objekt-Dateien und das Hinzufügen der Funktionen aus der CRT. Dieser Vorgang wird vom Linker durchgeführt. Der Linker bindet sozusagen alle Objekt-Dateien und die CRT-Dateien zusammen und fügt dem Programm die absoluten Adressen hinzu, d.h. er erzeugt letztendlich eine ausführbare Datei, die häufig die Extension exe besitzt.

MS Visual C++ Express Edition 2008

Für eine detailierte Einführung in die MS Visual C++ Express Edition 2008 (im Folgenden kurz als VC++ bezeichnet) stehen im Internet unzählige Quellen zur Verfügung. Wir wollen uns hier nur auf die unbedingt notwendigen Schritte beschränken, die für die Erstellung einer C++ Anwendung erforderlich sind. Alle in diesem Kurs erstellen Anwendungen sind so genannte Konsolenanwendungen, d.h. sie kommen ohne eine grafische Oberfläche aus. Die Erstellung von C++ Anwendungen mit einer grafischen Oberfläche ist Thema eines anderen Kurses, in dem Sie dann das in diesem erworbene Wissen umsetzen können.

Bevor uns ansehen, wie Sie C++ Konsolenanwendungen unter VC++ erstellen, legen Sie sich am besten zunächst einen Shortcut auf die VC++ IDE auf dem Desktop an. Die Link sollte auf folgende Datei verweisen: "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\VCExpress.exe".

Erstellen eines C++ Konsolenprojekts

Starten Sie jetzt die VC++ IDE Sie gelangen auf die Startseite. Um eine C++ Anwendung erstellen zu können, benötigen Sie zunächst ein entsprechendes Projekt. In einem Projekt werden außer den Quellcode-Dateien auch die Einstellungen für den Compiler und Linker abgelegt. Um jetzt eine Projekt für eine C++ Konsolanwendung anzulegen, klicken Sie im Bereich Zuletzt geöffnete Projekte neben dem Schriftzug Erstellen: auf den grauen Text Projekt....

Im daraufhin angezeigten Dialog wählen Sie als Projekttyp Allgemein und als Vorlage Leeres Projekt aus. Geben Sie dem Projekt einen beliebigen Namen (im Beispiel first) und geben Sie den Speicherort an. Achten Sie ferner darauf, dass die Option Projektmappenverzeichnis erstellen nicht gesetzt ist. Projektmappenverzeichnisse sind dann sinnvoll, wenn Sie mehrere Projekte erstellen die logisch zusammengehören, wie z.B. bei einer Client-Server-Anwendung. Für unsere Beispiele und Übungen hieße das, mit Kanonen nach Spatzen schießen.

Konsolenprojekt anlegen

Klicken Sie dann den OK Button an.

first ProjektJetzt sollte rechts der Projektmappen-Explorer angezeigt werden, in dem das soeben erstellte Projekt first angezeigt wird. Unter dem Projektnamen finden Sie drei Ordner Headerdateien, Quelldateien und Ressourcendateien. In diesen Ordnern werden während des Projektlaufes die entsprechenden Dateien abgelegt. Was Headerdateien sind und wofür sie verwendet werden, das erfahren Sie später im Kurs noch. Die Ressourcendateien werden in diesem Kurs nicht verwendet. Hierin landen unter anderem Dateien, die bei Programmen mit grafischer Oberfläche Dialoge beschreiben. Bleibt noch der Ordner Quelldateien übrig, in dem alle unser Quellcode-Dateien abgelegt werden. Sie erinnern sich noch, diese Dateien haben häufig die Extension cpp.

 

Da wir ein leeres Projekt erstellt haben, sind alle diese Ordner natürlich noch leer. Und dies wollen wir nun ändern. Klicken Sie mit der rechten Maustaste den Ordner Quelldateien an und wählen aus dem Kontextmenü dann den Eintrag Hinzufügen - Neues Element... aus.

Neue Quellcode-Datei hinzufügen

In dem daraufhin dargestellten Dialog geben Sie den Namen der Quellcode-Datei ein und bestätigen ihn durch anklicken des Buttons Hinzufügen. Die Extension cpp brauchen Sie nicht explizit eingeben, sie wird automatisch durch die ausgewählte Vorlage zum Dateinamen der Quellcode-Datei hinzugefügt.

Quellcode-Datei hinzufügen

Neue Quellcode-DateiIm Projektmappen-Explorer finden Sie die soeben erstellte Quellcode-Datei im Quelldateien Ordner. Gleichzeitig wurde die Datei im Editor geöffnet, was Sie am hervorgehobenen Reiter (Tabulator) des Arbeitsbereichs erkennen können.

Für einen ersten Test, geben Sie bitte folgendes kleines Programm ein:

Erstes kleines Programm

Die Funktionsweise der Programms brauchen Sie zum jetzigen Zeitpunkt noch nicht unbedingt verstehen, wir wollen ja lediglich die Ausführung des Compilers testen.

Compiler ButtonsDoch bevor wir diese tun, kontrollieren Sie bitte, ob in der Symbolleiste die links stehenden Symbole angezeigt werden. Wenn nicht, dann klicken Sie bitte auf eine leere Stelle in der Symbolleiste und wählen dann aus dem Kontextmenü den Eintrag Erstellen aus.

Klicken Sie dann das erste Symbol Compiler Button an, um den Compilier-/Übersetzungsvorgang zu starten. Konnte der Compiliervorgang durchgeführt werden, so erhalten Sie im unteren Ausgabefenster des Editors folgende Meldungen:

Fehlermeldung

Das heißt, in unserem Programm sind noch kleine Fehler in der Zeilen 6 und 7 enthalten. Durch einen Doppelklick auf die Zeile mit der Fehlermeldung gelangen Sie zur entsprechenden Stelle im Quellcode. Führen Sie jetzt einen Doppelklick auf die Fehlermeldung ...first.cpp(6)... aus um den Cursor auf die 6. Zeile in der Quelldatei zu setzen.

Korrigierte AnweisungFügen Sie unmittelbar vor die Anweisung x=5 das Wort int gefolgt von einem Leerzeichen ein, d.h. die Anweisung sollte danach wie links dargestellt aussehen.

Übersetzen Sie das Programm nun erneut und es sollten danach keine weiteren Fehler mehr ausgegeben werden.

hinweisVielleicht haben Sie es bemerkt: Ursprünglich hatten wir zwei Fehler, einen in Zeile 6 und einen in Zeile 7. Durch die Korrektur der Anweisung in der Zeile 6 wurde ebenfalls der Fehler in Zeile 7 behoben. Daher mein Rat: Beseitigen Sie Fehler immer von 'oben nach unten'.

Jetzt können wir unser Programm einmal starten. Klicken Sie in der Symbolleiste das Symbol Debug-Symbol an. Das Programm wird gestartet....und sogleich auch wieder beendet. Das Konsolenfenster blitzt lediglich kurz auf. Besser wäre es aber, wenn das Konsolenfenster am Ende Programms noch geöffnet bliebe. Und auch geht selbstverständlich. Dazu werden wir die Symbolleiste um den Befehl Starten ohne Debugging erweitern. Klicken Sie mit der rechten Maustaste in einen leeren Bereich innerhalb der Symbolleiste und wählen Sie aus dem dann erscheinenden Kontextmenü den Eintrag Anpassen... aus. Öffnen Sie den Reiter Befehle und darin die Kategorie Debuggen.

Symbolleiste anpassen

Suchen Sie in der Befehlsliste rechts den Befehl Starten ohne Debuggen, klicken diesen mit der linken Maustaste an und ziehen den Befehl mit gedrückter linker Maustaste in die Symbolleiste, unmittelbar neben das Symbol Debug-Symbol. Wenn Sie jetzt das Symbol Debuggen anklicken, wird das Programm gestartet und das Konsolenfenster bleibt am Programmende geöffnet bis Sie eine beliebige Taste drücken.

Konsolenfenster

Falls Sie das Konsolenfenster noch geöffnet haben, drücken Sie eine beliebige Taste um es zuschließen. Beenden Sie anschließend VC++.

Laden eines bestehenden Projekts

Sehen wir uns zum Schluss noch an, wie Sie ein bereits erstellte Projekt erneut laden und bearbeiten können. Starten Sie dazu die VC++ IDE. Auf der Startseiten werden unter anderem die letzten geöffneten Projekte direkt angezeigt. Durch einen Klick auf den Projektnamen wird das Projekt dann geladen.

Was Sie hier leider nicht machen können, ist ein nicht mehr benötigtes Projekt löschen. Wenn Sie ein Projekt löschen wollen, so entfernen Sie zunächst im WINDOWS Explorer den entsprechenden Ordner mit dem Projekt. Anschließend starten Sie die VC++ IDE und klicken dann auf den Namen des gelöschten Projekts. Da das Projekt nun nicht mehr gefunden wird fragt VC++ nach, ob das Projekt aus der Liste entfernt werden soll.


HinweisUm Ordnung auf Ihrer Festplatte zu halten, sollten Sie spätestens beim Abschluss eines Projekts die vom Compiler und Linker stellten Zwischendateien entfernen. Um die Zwischendateien zu löschen, klicken Sie Projektmappen-Explorer den Eintrag Projektmappe... mit der rechten Maustaste an und wählen aus dem Kontextmenü den Eintrag Projektmappe bereinigen an.

So, nach dem Sie die IDE kennengelernt haben, folgt nun auch gleich Ihre erste Übung.

Falls Sie die VC++ IDE noch geöffnet haben, so schließen Sie diese bitte und starten sie dann erneut. Erstellen Sie dann wie oben angegeben ein leeres Projekt. Fügen Sie diesem Projekt eine cpp Quellcode-Datei hinzu und geben folgendes Programm ein:


// Erster Test
#include <iostream>

int main()
{
    std::cout << "Mein erstes Programm!" << std::endl;
}

Beachten Sie bitte streng die Groß-/Kleinschreibung!

Übersetzen und Starten Sie das Programm wie gehabt. Wenn Sie alles richtig gemacht haben, sollten Sie folgende Ausgabe erhalten:


Mein erstes Programm!

Soweit die kurze Einführung in die C++ Entwicklungsumgebung. Auf der nächsten Seite geht's dann endlich los mit der C++ Programmierung.