CCPlusPlus2011

From Sccswiki
Revision as of 11:40, 17 June 2011 by Weinzier (talk | contribs)
Jump to navigation Jump to search

The compact course on C/C++ takes place at the t.b.a. from June 27, 2011, to July 8, 2011. It is tailored to Ph.D. students and PostDocs.

Lecture Notes

  • Monday, June 27: t.b.d.


Requirements & Preparation

Please bring your laptop (if you have one) to the course, since there will be a couple of hands-on sessions throughout the course. For those who haven't a laptop, we'll build teams of two or three persons (which is of great value anyway). Also, having a reference book with you might be of value although it is not necessary.


Software & Systems

Unix and Linux are

  • Windows
  • Unix/Linux

Zur Vorbereitung auf den Kurs kann ein Ausdruck der Folien dienen (siehe unten). Zusätzlich ist es hilfreich sich vorab mit den technischen Dingen vertraut zu machen. Dies hängt davon ab, wo man die Programmieraufgaben lösen möchte:

   * Wenn man in der SUN-Halle arbeitet, sollte man dort mit den Grundfunktionen vertraut sein (Textdateien bearbeiten, WWW-Browser)
   * Wenn man auf seinem eigenen Rechner arbeiten will, kann man sich um einen C-Übersetzer kümmern (Funktion im Moment unwichtig, installieren kann man ihn auch so). Für Windows-Systeme sind drei (von vielen) kostenlosen Möglichkeiten Dev-C++ (mit schöner bunter Benutzeroberfläche) und Cygwin bzw. MinGW (enthalten beide einen kommandozeilenbasierten C-Übersetzer).
   * Hinweis für Windows Benutzer: Alternative zum üblichen "Editor" unter Windows, der manchmal Zeilenumbrüche von (unter Unix/Linux erstellten) Textdateien nicht korrekt wiedergibt, ist die "WordPad-MFC-Anwendung" die damit keine Probleme haben sollte.
   * Übersetzung und Ausführung von Programmen. Als Beispielprogramm kann das Programm prog0.cpp dienen.
         o Anleitung für die Sunhalle
           Vorausgesetzt wird, dass man sich soweit auskennt, dass man einen Webbrowser offen hat sowie ein Terminalfenster, um gleich die folgenden Kommandos eingeben zu können (am Anfang befinden wir uns dazu am besten in unserem Homeverzeichnis)
               + Ein neues Verzeichnis anlegen: mkdir EiPro
               + in dieses Verzeichnis wechseln: cd EiPro
               + Mittels des Browsers das Programm prog0.cpp in das neue Verzeichnis speichern
               + Wieder im Terminalfenster: Inhalt des Verzeichnisses anzeigen lassen: ls
                 (sollte "prog0.cpp" ausgeben)
               + Übersetzen: g++ prog0.cpp
               + Inhalt des Verzeichnisses anzeigen lassen: ls
                 (sollte "a.out" und "prog0.cpp" ausgeben)
               + Programm ausführen: ./a.out
                 (sollte a: 37, b: 41, c: -4, d : 6, e: 156 ausgeben)
               + Programm bearbeiten: nedit prog0.cpp &
                 Z.B. aus 37 eine andere Zahl machen, abspeichern, übersetzen, ausführen,... 
         o Auf dem heimischen Rechner
           Hier nur ein paar kurze Hinweise für die Benutzer von Windows & Dev-C++:
               + Das Programm kann man mit Dev-C++ öffnen (File -> Open Project or File), bearbeiten und übersetzen (Execute -> Compile), das ausführbare Programm heißt hier in der Voreinstellung nicht a.out, sondern so wie der Quelltext, in unserm Fall also prog0.exe
               + Zum Ausführen ist ein Terminalfenster (Windows-Sprechweise: Eingabeaufforderung) hilfreich (wenn man das Programm innerhalb von Dev-C++ ausführt, verschwindet die Ausgabe, bevor man sie lesen kann...)
                 Das Navigieren in's richtige Verzeichnis mittels cd kann hier etwas komplizierter sein, je nachdem, in welchem Verzeichnis man am Anfang landet. Den Inhalt eines Verzeichnisses sehen wir hier mit dir; wenn wir im richtigen Verzeichnis sind, wird das Programm einfach mittels prog0 ausgeführt.
               + Es ist jedoch einfacher, im Programm vor der schließenden geschweiften Klammer noch eine Zeile std::cin.get(); einzufügen, dann wartet das Programm an dieser Stelle, bis man die Enter-Taste drückt und man kann das Programm auch innerhalb von Dev-C++ ausführen (Execute -> Run). 


External Links

These links are for further information on particular topics. They are not part of the core course.