2.4 Das erste C++-Programm 2.4.1 »Hello World« mit Cygwin

W
Shared by: zwj23860
-
Stats
views:
143
posted:
2/1/2010
language:
German
pages:
5
Document Sample
scope of work template
							                                   2.4 Das erste C++-Programm *             11
2.4     Das erste C++-Programm *
Den besten Lernerfolg erzielen Sie, wenn Sie alle Beispiele dieses   Empfehlungen
Buchs selbst nachvollziehen. Sie können hierzu einen Compiler
verwenden, den Sie in einem Konsolenfenster aufrufen, oder ei-
ne fensterbasierte interaktive Entwicklungsumgebung, die ver-
schiedene Werkzeuge zur Entwicklung von Programmen, darun-
ter auch einen Editor zur Erfassung von Programmtexten, ver-
bindet. Es empfiehlt sich, beide Möglichkeiten einzusetzen.
Cygwin ist eine Unix-Umgebung für Windows und enthält eine
Reihe leistungsfähiger, hauptsächlich kommandozeilenbasierter
Entwicklungswerkzeuge, darunter auch einen C++-Compiler.
Bloodshed Dev-C++ und Microsoft Visual Studio 6.0 für C++
sind integrierte Entwicklungsumgebungen für C++.
Cygwin und Bloodshed Dev-C++ sind frei verfügbar und kön-
nen in der jeweils aktuellsten Version aus dem Internet bezogen
werden. Eine Bezugsquelle für Cygwin ist die Cygwin Homepage
(http://www.cygwin.com). Bloodshed Dev-C++ ist auf der Bloodshed
Homepage (http://www.bloodshed.net) erhältlich.
Im Wissensbaustein »Hello World mit Cygwin«, S. 11, erfahren
Sie, wie Sie das erste einfache C++-Programm namens »Hello
World« mit einem Texteditor erfassen, übersetzen und ausfüh-
ren. Dies setzt voraus, dass auf Ihrem Computersystem Cygwin
vorhanden ist. Wie Sie Cygwin beziehen und installieren, wird im
kostenlosen E-Learning-Begleitkurs zum Buch erklärt.
Dort wird außerdem beschrieben, wie Sie die Entwicklungsum-
gebungen Microsoft Visual Studio 6.0 und Dev-C++ installieren
und mit ihnen das Programm »Hello World« erstellen.


2.4.1    »Hello World« mit Cygwin *
Der schnellste und einfachste Weg ein kurzes C++-Programm zu
erstellen und zu übersetzen, besteht in der Verwendung eines
Texteditors und eines C++-Compilers, der in einem Konsolen-
fenster ausgeführt wird.

Um diesen Wissensbaustein durchzuarbeiten und am Rechner
nachzuvollziehen, muss Cygwin einschließlich C++-Compiler –
wie im kostenlosen E-Learning-Kurs zum Buch beschrieben – in-
stalliert sein. Zur Vorbereitung legen Sie im Wurzelverzeichnis
des Laufwerks, auf dem sich Ihre Dateien befinden, ein Verzeich-
nis namens uebung1 an (Abb. 2.4-1).
Um ein C++-Programm einzugeben, können Sie einen beliebigen          Quell-
Editor verwenden. Er muss jedoch das Quellprogramm als reine         programm
                                                                     eingeben
Textdatei speichern können. Die meisten Textverarbeitungspro-
12                2 Der Schnelleinstieg *




                  Abb. 2.4-1: Verzeichnis uebung1 erstellen.


                  gramme wie beispielsweise Microsoft Word oder OpenOffice
                  Writer legen standardmäßig außer dem Text noch viele Forma-
                  tierungsinformationen im Dokument ab. Eine solche Datei kann
                  vom C++-Compiler nicht verarbeitet werden.
                  Ein Editor, der Daten grundsätzlich als reinen Text ablegt, ist der
                  Editor von Windows (Programm notepad.exe). Die Abb. 2.4-2 zeigt
                  den Quelltext, den Sie mit einem Texteditor Ihrer Wahl, beispiels-
                  weise Notepad, erfassen.




                  Abb. 2.4-2: Notepad von MS-Windows legt die Daten als reine Textdatei ab.


Quellprogramm     Im nächsten Schritt speichern Sie das soeben eingegebene Pro-
      speichern   gramm unter dem Namen hello.cpp im Verzeichnis uebung1.
Quellprogramm     Öffnen Sie nun ein Konsolenfenster und wechseln Sie in das Ver-
   kompilieren    zeichnis uebung1. Dort geben Sie den Befehl g++ hello.cpp ein.
                  Nach erfolgreicher Übersetzung erscheint wieder die Eingabeauf-
                  forderung. Geben Sie nun den Befehl dir ein. Jetzt ist eine neue
                  Datei namens a.exe in dem Verzeichnis uebung1 vorhanden.
                                        2.4 Das erste C++-Programm *             13
Sobald Sie den Befehl a eingeben, wird das »Hello World«-Pro-          Programm
gramm ausgeführt und gibt seine Grußbotschaft aus (Abb. 2.4-3).        ausführen




Abb. 2.4-3: hello.cpp mit Cygwin-C++ übersetzen und ausführen.


Damit haben Sie Ihre erstes C++-Programm erstellt, übersetzt           Glückwunsch!
und ausgeführt.

Probleme und Abhilfe
Nach der Eingabe von g++ hello.cpp erhalten Sie eine Meldung,          Problem
wonach der Befehl g++ falsch geschrieben sei oder nicht gefun-
den werden konnte.
Der Compiler ist nicht installiert oder die nötigen Maßnahmen zu       Ursache
seinem Aufruf in einem Konsolenfenster von Windows wurden
nicht durchgeführt.
Prüfen Sie, ob der Compiler wie im kostenlosen E-Learning-Kurs         Abhilfe
zum Buch beschrieben, installiert wurde. Wurde cygwin1.dll in
das Stammverzeichnis von Windows kopiert? Wurde das Ver-
zeichnis C:\cygwin\bin beziehungsweise das bin-Verzeichnis un-
terhalb des Installationsverzeichnisses von Cygwin in den Such-
pfad für Programme aufgenommen? Damit eventuelle Ände-
rungen wirksam werden, müssen Sie das alte Konsolenfenster
schließen und ein neues öffnen.
Der Compiler gibt irgendwelche Fehler- oder Warnmeldungen              Problem
aus.
Es wurden nicht alle Maßnahmen durchgeführt, um den Com-               Ursache
piler in einem Konsolenfenster von Windows auszuführen oder
das Quellprogramm enthält Fehler.
14              2 Der Schnelleinstieg *


      Abhilfe   Führen Sie zunächst die zuvor beschriebenen Abläufe noch ein-
                mal durch. Erhalten Sie weiterhin Fehlermeldungen, überprüfen
                Sie den Programmtext. Wurden die richtigen Klammern verwen-
                det? Sind alle Strichpunkte gesetzt?


                2.5 Der Aufbau des »Hello World«-
                    Programms *
                Das »Hello World«-Programm bewirkt die Ausgabe von »Hello
                World!« in einem Konsolenfenster. Die entsprechende Ausgabe-
                anweisung steht in der Funktion main(), die bei dem Start des
                Programms automatisch ausgeführt wird.

                Im Folgenden werden die Bestandteile des Programms »Hello
                World« und sein Aufbau kurz betrachtet. Wie das Programm kom-
                piliert und ausgeführt wird, erfahren Sie im Wissensbaustein
                »Das erste C++-Programm«, S. 11.

  Programm:       1   #include <iostream>
  Hello World     2   using namespace std;
                  3
                  4   int main() {
                  5       cout << "Hello World!" << endl;
                  6       return 0;
                  7   }

Ein-/Ausgabe    Die erste Zeile #include <iostream> bewirkt, dass im Programm
                Möglichkeiten zur Ein- und Ausgabe zur Verfügung stehen. Da-
                durch kann unter anderem der Bezeichner cout verwendet wer-
                den.
      using-    Die Anweisung using namespace std; erlaubt es, Bezeichner wie
   Anweisung    zum Beispiel cout zu nutzen, ohne dass ihnen std:: voran gestellt
                werden muss. Würde diese Anweisung fehlen, müsste Zeile 5 so
                lauten: std::cout << "Hello World!" << std::endl;.
     Funktion   Eine Funktion fasst mehrere Anweisungen zusammen und er-
      main()    laubt es, sie unter dem Namen der Funktion aufzurufen. Funktio-
                nen werden im Wissensbaustein »Funktionen«, S. 153 ausführ-
                lich beschrieben. Die Zeilen 4 bis 7 enthalten die Hauptfunktion
                main(). Jedes Programm muss genau eine Funktion namens main()
                besitzen. Diese wird beim Aufruf des Programms automatisch
                ausgeführt.
                Die Anweisungen der Funktion main() sind in ein Paar geschweif-
                ter Klammern eingeschlossen und stehen in den Zeilen 5 und 6.
    Standard-   Die Zeile 5 enthält die einzige Anweisung, die Sie beim Ausfüh-
ausgabestrom    ren des Programms wahrnehmen können. Sie bewirkt die Aus-
        cout
                gabe von »Hello World« in einem Konsolenfenster. Eine Ausga-
                beanweisung beginnt immer mit dem Namen des Standardaus-
                   2.5 Der Aufbau des »Hello World«-Programms *                15
gabestroms cout. Damit cout zur Verfügung steht, muss ein Pro-
gramm zu Anfang die Anweisung include <iostream> enthalten.
Die Anweisung << teilt dem Ausgabestrom mit, dass der rechts
folgende Bestandteil ausgegeben werden soll.
Es ist auch möglich, mehrere Ausgaben zu verketten. Zu diesem       Ausgaben
Zweck schreibt man nach dem auszugebenden Bestandteil er-           verketten
neut <<, gefolgt von einem weiteren Bestandteil. Beispielsweise
bewirkt cout << "Hallo " << "Welt" << ’!’ << endl; ebenfalls die
Ausgabe von »Hello World!« im Konsolenfenster.

 Achten Sie darauf, dass Sie mehrere aufeinander folgende Zei-      Hinweis
 chen in doppelte Anführungszeichen, zum Beispiel "Text", ein-
 schließen und nicht in doppelte Hochkommas, etwa ”Text”.

Die Anweisung return 0; in Zeile 7 beendet die Funktion main()      Funktion
und damit auch das Programm »Hello World«.                          beenden


 Laut C++-Standard ist es zulässig, dass die return-Anweisung       Hinweis
 in der Funktion main() entfällt. In diesem Fall ergänzt der Com-
 piler bei Beenden der Funktion automatisch return 0;. Visual
 Studio 6.0 gibt jedoch eine Warnung aus, wenn die return-An-
 weisung in der Funktion main() fehlt. Daher empfiehlt es sich,
 sie an dieser Stelle immer aufzuführen.

Wie Ihnen vielleicht aufgefallen ist, steht in dem Programm je-     Formatierung
de Anweisung in einer neuen Zeile. Nach einer geschweiften öff-
nenden Klammer werden alle folgenden Anweisungen um vier
Leerzeichen eingerückt. Zwischen cout und << sowie dem nach-
folgenden Bestandteil steht jeweils ein Leerzeichen. Dies macht
das Programm leichter lesbar. Man könnte das Programm »Hello
World« auch wie im Programm »"Hello World" schlecht forma-
tiert« schreiben.

  1   #include <iostream>                                           Programm:
  2   using namespace std;int main(){cout<<"Hello World!"           "Hello World"
  3   <<endl;return 0;}                                             schlecht
                                                                    formatiert

 Denken Sie immer daran, dass ein Programm meist nur einmal         Hinweis
 geschrieben, aber viel öfter gelesen wird.

Diese Version stimmt inhaltlich mit dem Programm »Hello
World« überein, ist aber deutlich schlechter lesbar und versteh-
bar. In diesem Buch werden noch weitere solche Konventionen
vorgestellt, die Sie ebenfalls übernehmen und einhalten sollten.

						
Related docs