Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

C (GCC unter Windows)

TODO: 1. GCC: Einrichtung unter Windows -> OK

TODO: 2. Erste Schritte Bedinung ->OK

TODO: 3. Debuggen unter Windows

TODO: 4. Mem alternative

TODO: 5. C & Eclipse(eventuell Codeblocks)

TODO: 6. FAQ/Problems

FinalTODO: Rechtschreibung!


1. GCC: Einrichtung unter Windows

Die gängigsten Möglichenkeite GCC unter Windows zu benutzen ist mit Cygwin (Emulation der Unix-API unter verschiedenen Versionen von Microsoft Windows) und mit MinGW.

Ich werde mich hier auf die MinGW "Variante" beziehen. MinGW enthält eine Windows Version der GCC Compliers,der es uns ermöglicht native win32 Programme in C zuschreiben.


1.1 Installation:

Die einfachste Methode MinGW zu installieren es denn den angebotenen Installer zu benutzen Installer Download.

Es gibt auch eine Manuelle Installation, auf die ich aber nicht weiter eingehen werden. Während der Installation wird gefragt ob man die Aktuelle (Current), vorherige oder eine Candidate (Beta/unstable) installieren will. Ich habe vorsichthalber Current gewählt. Anschließend wird nach dem Installationsumfang gefragt. Wir benötigen nur die "MinGW base tools" bzw denn Installationstyp "Minimal". Anschließend wählt man nur noch das Installationsverzeichnis und der Installer lädt dann die Dateien und installiert sie. Falls der Installer Probleme bei Download einer bestimmten hat Datei, kann versuchen die Datei hier seperat runterzuladen,sie dann ins gleiche Verzeichnis zu kopieren in der sich auch Installer befindet und dann zuletzt Installer neu zu starten.


1.2 Einrichtung in der Systemumgebung:

Damit "gcc" mit der "Windows Command Prompt" bzw. Windows Powershell (Start->Ausführen->cmd) genauso benutzten kann wie unter Linux/Unix mit dem Terminal/Bash/<Beliebige Unixshell> muss die Systemvariabeln editeren. Dies tut man in den Umgebungsvariabeln. Unter Vista kommt da hin über Systemsteuerung-> System -> Erweitere Systemeinstellungen -> Umgebungsvariabeln. Nun wählt man unter Systemvariabeln den Eintrag "Path" (es egal ob "path" groß oder klein geschrieben ist) und drückt "Bearbeiten". Unter "Wert der Variablen" fügt man nun ans rechte Ende der gelsiten Eintäge ein Semikolon ein gefolgt von dem Pfad zum MinGW bin Verzeichnis.

Beispiel:

MinGWInsBsp.png

Allgemeines Format: <Vorherige Einträhe>;<Pfad zur MinGW Installation>\bin

Nach einen Neustart werden dann die Änderungen übernommen.

2. Erste Schritte

Für die nie mit der "Windows Command Prompt" gearbeitet haben zeige hier,wie man sie mit "gcc" benutzt. Verdeutlichen werde ich dies an der Hello_World aus C

Als erstes öffnen wir eine Command Prompt": Start->Ausführen->"cmd" -> OK Dann landen wir im "home" Verzeichnis unseres Benutzerverzeichnisses:

 Microsoft Windows [Version 6.0.6001]
 Copyright (c) 2006 Microsoft Corporation. Alle Rechte vorbehalten.
 C:\Users\Admin>_

Nun können wir erstmal testen ob MinGW richtig installiert ist indem wir "gcc --v" eingeben.

  ...
  gcc version 3.4.5 (mingw-vista special r3)
  C:\Users\Admin>_

Wenn wir etwas etwas mit Ausgeben bekommen wo am Ende die gcc version ausgeben wird ist alles OK. Wenn nicht einfach mal nach oben die 1. durchschauen.


Nun zurück zur Hello_World.c . Da sich meine Hello_World.c im Verzeichnis D:\Code\ befinden müssen wir dort wechseln. Zuerst wechseln wir das Lauswerk:

 C:\Users\Admin>D:
 D:\>_

Nun müssen ins Verzeichnis Code wechseln. Zuvor könnten wir uns mit "dir" alle im jetztigen Verzeichnis befindlichen Ordner und Dateien anzeigen lassen. Das Verzeichniss wechseln tut man mit "cd" (Change Directory):

 D:\>cd Code
 D:\Code>

Wir auch "cd" und einmal Space eintippen können und dann durch Tab(ulator) drücken den Rest von Windows vervollständigen können. Wollen wir zurück ins Übergeordnete Verzeichnis können wir dies wie in Unix/Linux mit "cd .." .


Nun kann ich die Hello_World.c ,wie ich es von gcc unter Unix/Linux gewohnt bin,compilieren.

 D:\Code>gcc  -Wall  -o Hello_World.exe  hello_world.c

Jetzt noch ein Lauzeittest.

  D:\Code>Hello_World.exe
  Hallo Freitagsrunde 4!
  D:\Code>

Wie wir sehen hat alles Funktioniert wie es sollte und alles ist gut :)


Probleme / Unterschiede (gcc Unix vs. gcc Windows)

Jeder wird früher oder später Bekanntschaft machen mit Laufzeitfehlern machen.

Unter Unix kriegt man immer einen schönes "Segmentation Fault" ausgeben.

Unter Windows popt ein ein Fenster auf das uns unsere "Programmname.exe" abgestütz ist oder so ähnlich.

Wie Aussieht hängt von der Windows Version ab.