Bedienung der C-Compiler - Uni Regensburg

Die Seite wird erstellt Friedemann Rose
 
WEITER LESEN
25. April 2018
                            C:\Users\brf09510\svn\doku\trunk\compman\SC-COMP.TEX

                     Bedienung der C-Compiler

1. GNU-C
Gnu-C/C++ ist ein Open-Source- und Freeware-Compiler, der bei Beachtung der Benut-
zungsbedingungen (siehe Datei COPYING) legal und frei verwendet werden darf. Er wurde
als portabler Compiler für Unix-Umgebungen konzipiert. Für PCs unter Windows steht er
in den zwei Versionen MinGW und Cygwin zur Verfügung. Die DJGPP-Version von DJ
Delorie und die emx-Installation von Eberhard Matthes sind veraltet. Unter Linux ist der
Compiler meistens bereits installiert; falls er fehlt, helfen die Distribution-packages weiter.
Auf einem Mac steht der llvm-Compiler (auch unter dem irreführenden Namen gcc) bereit.
Die Bedienungshandbücher finden sich im Internet unter
http://gcc.gnu.org/onlinedocs/
Eine Übersicht über alle Optionen finden Sie unter
http://gcc.gnu.org/onlinedocs/gcc-4.6.2/gcc/Option-Summary.html#Option-Summary
Eine (umfangreiche) hervorragende Beschreibung auf englisch bietet das Buch
The Definitive Guide to GCC
William von Hagen
2006, 978-1-59059-585-5, 1-59059-585-8
http://sensperiodit.files.wordpress.com/2011/04/hagen-the-definitive-guide-to-
gcc-2e-apress-2006.pdf

1.1. Aktivieren und Starten von Cygwin im CIP-Pool
Vor dem Start der GNU-Compiler-Collection in den CIP-Pools muß ein Cygwinfenster mit
einer Linux-bash-shell gestartet werden. Das geschieht in einem Windows-Kommandofenster
(cmd.exe).
      cygwin Aktivieren des Compilers
  F:\BAT\cygwin.cmd wenn es mal nicht geht
  cd /cygdrive/c Wechseln auf (z.B.) Laufwerk C:
  gcc -std=c99 -pedantic -Wall -o bsp bsp.c Standard-C-Übersetzung
Damit stehen zwei C-Compiler (gcc, clang), zwei C++-Compiler (g++, clang++) und ein
Fortran-Compiler (gfortran) zur Verfügung.
Das bash-Fenster wird mit dem Kommando exit wieder beendet.

1.2. Aktivieren und Starten von MinGW im CIP-Pool
Vor dem Start der GNU-Compiler-Collection in den CIP-Pools und vor dem Start des
Informationsprogrammes INFO muß der Compiler aktiviert werden.
      k:\RZ\KURSE\BRAUN\MinGW\MW.BAT
Damit stehen ein C-Compiler (gcc), ein C++-Compiler (g++), ein Fortran-Compiler (gfort-
ran) zur Verfügung.
Mit
      k:\RZ\KURSE\BRAUN\dislin\dl.bat
erhalten Sie zusätzlich zu MinGW die Graphiklibrary dislin.
Die Compiler werden im Windows-Kommandofenster direkt aufgerufen. Bei Bedarf kann
mit
      msys
1.2. Aktivieren und Starten von MinGW im CIP-Pool                                        2

ein Linux-Terminal (bash) gestartet werden.

1.3. Start des Compilers
Der C-Compiler wird im einfachsten Fall mit dem Kommando gcc dateiname gestartet,
wobei der Dateityp (.c; .C, .cc, .cpp, .cxx) oder die Option -x die verwendete Sprache (C,
C++, ada, f77, f95, java) bestimmt. Für die Steuerung der Übersetzung steht eine Vielzahl
weiterer Optionen zur Verfügung. Die Übersetzung steht nach Unix-Gepflogenheiten in der
Datei a.out (Windows: a.exe). Entweder muß diese Datei umbenannt werden oder es muß
ein Ausgabedateiname angegeben werden.
   gcc dateiname.c
                     Übersetzung der angegebenen Datei mit C-Quelle nach a.exe
   gcc -o dateiname dateiname.c
                     Übersetzung der angegebenen Datei mit C-Quelle nach dateiname.exe
Der C++-Compiler kann mit demselben Kommando gestartet werden, dann müssen jedoch
alle C++-Bibliotheken explizit angegeben werden. Einfacher ist der Start mit g++:
   g++ dateiname.cxx
                     Übersetzung der angegebenen Datei mit C++-Quelle nach a.exe
   g++ -o dateiname dateiname.cpp
                     Übersetzung der angegebenen Datei mit C++-Quelle
Elementare Varianten des Übersetzungskommandos sind (diese Varianten können kombi-
niert werden. Die Optionen pedantic, Wall und ansi sollten immer verwendet werden):
   gcc -x c dateiname.c
                     Übersetzung der angegebenen C-Datei (Sprachangabe)
   gcc -c dateiname.c
                     Übersetzung ohne Montage
   gcc -S dateiname.c
                     Übersetzung ohne Assemblierung
                     (Nachassemblierung as dateiname.s)
   gcc -E dateiname.c
                     nur Präprozessor (Dateiausgabe mit >)
   gcc -I VZ dateiname.c
                     Übersetzung mit weiteren include-Dateien im Verzeichnis VZ
   gcc -v dateiname.c
                     ,,verbose“ Übersetzung mit viel Hintergrundinformation
   gcc -traditional dateiname.c
                     abgeschaltet seit 2.95
   gcc -ansi dateiname.c
                     Übersetzung nach dem ANSI-C-Standard (C88)
   gcc -std=c11 dateiname.c
                     Übersetzung nach dem ANSI-C-Standard (C99)
                     Weitere Werte: c90/c89/iso9899:1990, iso9899:199409,
                     c99/c9x/iso9899:1999/iso9899:199x, c++98, c++11, c++14
                     Spezielle Werte: gnu89, gnu99
1.3. Start des Compilers                                                                 3

   gcc -pedantic dateiname.c
                      Übersetzung mit schärferer Überprüfung
   gcc -pedantic-errors dateiname.c
                      Pedantische Fehler statt pedantischer Warnungen
   gcc -Wall dateiname.c
                      Übersetzung mit Ausgabe aller Warnungen
   gcc -O2 dateiname.c
                      Übersetzung mit Optimierung 2; Weitere Werte: Os O1 O2 O3
   gcc dateiname.c -s
                      Übersetzung ohne Symboltabelle im Programm (spart Platz aber De-
                      bugger kennt Namen nicht)
   gcc dateiname.c -L VZ
                      Montage mit weiteren Bibliotheken im Verzeichnis VZ
   gcc dateiname.c -lxyz
                      Montage mit Bibliothek libxyz.a
   gcc dateiname.c VZ/libxyz.a
                      Montage mit Bibliothek libxyz.a (explizit)
   gcc dateiname.c -static
                      Statische Montage (alles im .exe)
   gcc -g dateiname.c
                      gdb-Informationen (Debugger)
Weitere Optionen und ausführliche Beschreibungen können im Internet unter
https://gcc.gnu.org/onlinedocs/gcc/Invoking-GCC.html, die Optionen speziell unter
https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html#Option-Summary nachge-
lesen werden.
Der Compiler erledigt Übersetzung und Montage in einem Schritt und erzeugt eine .exe-
Datei, die direkt gestartet werden kann.
Das Informationsprogramm der GNU-Compiler-Collection wird mit dem Kommando INFO
gestartet und erlaubt mit selbsterklärenden Tastaturbefehlen, Informationen über den Com-
piler an den Bildschirm zu holen. Es wird mit q (quit) wieder verlassen.
   info               Informationen über GNU
Die Größe der Exe-Dateien kann mit der Option -s reduziert werden. Dabei werden jedoch
die Symboltabellen entfernt und der Debugger geht nicht mehr.
     gcc -o file -s file.c
Falls Sie C++ mit dem Kommando gcc starten wollen, müssen die C++-Bibliotheken in
der richtigen Reihenfolge angegeben werden. Mit dem Spezialkommando g++ geschieht das
automatisch.
     g++ -o file file.cpp
     gcc -o file file.cpp -lstdc++

1.4. Starten von übersetzten gcc-Programmen unter Windows
Bei cygwin und MinGW liegen die übersetzten Programme als ausführbare Windows-
Dateien (.exe) vor. MinGW-Übersetzungen können jederzeit in einem cmd-Fenster gest-
artet werden. Bei cygwin existiert derzeit keine Möglichkeit und (soweit mir bekannt) kein
1.4. Starten von übersetzten gcc-Programmen unter Windows                              4

Trick, die Übersetzungen direkt unter Windows aufzurufen. Es muss in jedem Fall vorher
eine cygwin-shell laufen. Dazu existieren zwei Alternativen:
1. Nachgeben! Starten einer cygwin-shell und anschließend des Programmes:
cygwin
cd /cygdrive/c/Users/name/vz
runProgram.exe
2. Beides gleichzeitig in der richtigen Reihenfolge mit Pfadangaben (lustigerweise halb in
Windows- und halb in Linuxschreibweise) und der Option -c:
c:\cygwin\bin\bash -c /cygdrive/c/Users/name/vz/runProgram.exe
Die Pfadangaben können entfallen, wenn sie voreingestellt sind - bei Windows im PATH und
bei cygwin in ~/.bashrc.
3. Wenn auf dem Rechner Cygwin installiert ist, kann man Programme in einem cmd-
Fenster starten, wenn man vorher den Pfad der Cygwin-dlls gesetzt hat:
path c:\cygwin\bin;%path%
cd c:\Users\name\vz
runProgram.exe
Die früher mögliche Option -mno-cygwin wurde entfernt. Die Option -mwindows erzeugt
GUI-Programme.
Zur Erzeugung nativer Windows-Programme muss MinGW verwendet werden. Im Cygwin-
setup kann ein entsprechender Cross-Compiler installiert werden, der gerüchteweise (ich
habe es nicht ausprobiert!) sogar schneller compiliert.

1.5. Bemerkungen zu Linux
Werden in Linux die Funktionen aus  benötigt, müssen sie explizit mit -lm ange-
geben werden:
gcc dateiname.c -lm
g++ dateiname.c -lm

1.6. Installation vom Cygwin auf dem eigenen Rechner
 http://www.cygwin.com/ Homepage
 setup-x86.exe          Installationsprogramm für 32-bit-Inst.
 setup-x86_64.exe       Installationsprogramm für 64-bit-Inst.

1.7. Installation vom MinGWin auf dem eigenen Rechner
 http://www.mingw.org/                                              Homepage Minimalist GNU for Wind
 https://sourceforge.net/projects/mingw/files/                      Download MinGW (dort Installer)
 https://sourceforge.net/projects/mingw/files/Installer/ Download MinGW (dort Installer)
Der Link Downloads leitet auf eine Soureforgeseite. Dort Installer/mingw-get/mingw-get-
setup.exe klicken und downloaden (2013-10-4). Eventuell neuere Versionen wählen.
 mingw-get-setup.exe Installationsprogramm
Das Installationsprogramm wird als Administrator gestartet und installiert seinerseits den
MinGW Installation Manager. Im danach geöffneten Fenster klickt man im Basic Setup
das Paket mingw32-base (mark for installation) und eventuell weitere Pakete (mingw32-
gccfortran, mingw32-gccg++). Im Menübefehl Installation/Apply Changes wird die In-
stallation dann gestartet. Wurde etwas vergessen oder will man plötzlich mehr, kann der
Installation Manager jederzeit erneut aufgerufen werden.
1.7. Installation vom MinGWin auf dem eigenen Rechner                                                    5

Der Compiler gcc kann im MSYS-Fenster direkt benutzt werden. Auch der Debugger gdb
ist verfügbar. In Kommandofenstern muss sein genauer Standort dem Betriebssystem im
Pfad mitgeteilt werden.
set path=C:\MinGW\bin;%path%
Will man das volle MinGW benutzen, kann man weitere Verzeichnisse in den Pfad aufneh-
men:
set path=C:\MinGW\bin;C:\MinGW\msys\1.0\bin\;%path%
Dieses Kommando kann bequem in eine Datei (z.B. MW.BAT) geschrieben werden und
dann nach Start der Kommandozeile indirekt aufgerufen werden.
Schließlich kann man eine Linux-Konsole öffnen:
\MinGW\msys\1.0\msys.bat%
Im CIP-Pool lautet das Kommando in der Datei MW.BAT:
set path=K:\RZ\KURSE\BRAUN\MinGW\bin;%path%

1.8. Festplattensituation nach Installation von cygwin
In Windows haben Sie neben dem Administratoraccount meist noch einen eigenen Userac-
count, der in vielen Fällen einfach Ihr Vorname ist. Ich verwende dafür ”fritz“1 . Ich gehe
weiter davon aus, dass Sie einen 64-Bit-Rechner haben und Ihr System auf der Festplatte
C: liegt.
Nach Installation von cygwin liegt auf der Festplatte C: ein neues Verzeichnis C:\cygwin64\
vor, in dem sich die gesamte cygwin-Installation befindet. Insbesondere existieren hier die
üblichen Linux-Verzeichnisse bin, dev, etc, home, lib, sbin, tmp, usr und var. Das heißt,
dass Sie hier über ein weiteres (Linux-)Homeverzeichnis verfügen, in dem jeder angemeldete
User Ihres Rechners ein Unterverzeichnis mit seinem Namen erhält, in Ihrem Fall also
c:\cygwin64\home\fritz. Das ist jetzt Ihr cygwin-Homeverzeichnis.
Ihr Windows-Homeverzeichnis C:\Users\fritz bleibt davon unbeeinflußt.
Wenn Sie cygwin starten, befinden Sie sich automatisch in Ihrem cygwin-Homeverzeichnis.
Es wird mit ~ bezeichnet und heißt ausführlich /home/fritz. Hier sehen Sie schon
zwei Bezeichnungen für dasselbe Verzeichnis: Die Windows-Bezeichnung und den wah-
ren Ort auf der Festplatte C:\cygwin64\home\fritz und die virtuelle cygwin-Bezeichnung
/home/fritz.
Linux kennt keine Laufwerke, sondern nur einen einheitlichen Dateibaum, der mit / beginnt.
Alle vorhandenen Windows-Laufwerke werden daher von cygwin in einem virtuellen Ver-
zeichnis /cygdrive als Unterverzeichnisse, geschrieben mit Kleinbuchstaben zugänglich ge-
macht (gemountet). Ihre Windows-Festplatte C: heißt also im cygwin-Fenster /cygdrive/c,
ein vielleicht vorhandener USB-Stick E: /cygdrive/e. Von diesem Verzeichnis können Sie
weiter in die Tiefe gehen, so dass auch alle Windows-Dateien verfügbar sind. So heißt
Ihr Windows-Homeverzeichnis im cygwin-Fenster jetzt /cygdrive/c/Users/fritz. Win-
dows ist case-insensitiv, also können Sie auch angeben c:\userS\FrITZ. Linux ist prinzipiell
case-sensitiv; hier ist nur die eine korrekte Schreibweise erlaubt. Windows übersetzt die Ver-
zeichnisnamen in Fremdsprachen (vom englischen aus betrachtet!), also heißt Ihr Windows-
Home bei einem deutsch eingestellten System vielleicht c:\benutzer\fritz. Da auf der
Festplatte nur der Name Users steht, darf die deutsche (oder anderssprachige) Version im
cygwin-Fenster nicht verwendet werden.

   1
       Es ist sehr ungünstig und gegen jede Vernunft, alles unter einem Account mit Administratorberechti-
       gung durchzuführen
1.8. Festplattensituation nach Installation von cygwin                               6

Linux-Home und Windows-Home:
c:\cygwin64\home\fritz\ und c:\Users\fritz
/home/fritz und /cygdrive/c/Users/fritz

2. clang

2.1. CIP-Pools und Linux
Der Compiler ist in allen CIP-Pools unter Windows/cygwin installiert.
Von den Linux-Systemen ist clang derzeit nur auf den Rechnern rz411, rz412 und athene
verfügbar.

2.2. Optionen
Die meisten Optionen des gcc können auch mit clang verwendet werden. Weitere Optionen
sind:
   clang -Wall dateiname.c
                   Übersetzung mit Ausgabe der meisten Warnungen
   clang -Weverything dateiname.c
                   Übersetzung mit Ausgabe wirklich aller Warnungen

3. lcc
lcc (genauer lcc-win32) ist ein C-Compiler für Windows von Jacob Navia. Er entstand
aus einem Vorläufer von Dave Hanson und Chris Fraser mit dem Namen ,,A portable C
compiler“. Er wird auf den Webseite
http://www.cs.virginia.edu/~lcc-win32/
vorgestellt und steht dort auch (nach einigen Klicks) bereit.
Eine weitere Webseite mit Beispielprogrammen stammt von John Findlay:
http://www.johnfindlay.plus.com/lcc-win32/index.html

3.1. Installation
Die eigentliche Downloadseite ist
http://www.q-software-solutions.de/downloaders/show_download_locations
von wo man sich die fünf Dateien holen kann:
lccwin32.exe
manual.exe
README.htm
tutorial.zip
advanced.zip
Der Compiler wird durch Start des Installationsprogramms lccwin32.exe installiert. Die
Windowshilfe installiert sich analog mit manual.exe.
Die readme-Datei enthält aktuelle Informationen und kann auch direkt im Web gelesen
werden.
Les- und druckbare Handbücher müssen aus den .zip-Dateien extrahiert werden, z.B. mit
dem schon unter Gnu-C erwähnten unzip32.exe:
c:\djgpp\unzip32.exe tutorial.zip
3.1. Installation                                                                     7

c:\djgpp\unzip32.exe advanced.zip
Es werden zwei .pdf-Dateien mit knapp 400 Seiten, bez. 62 Seiten und den Titeln
Programming with lcc-win32
Advanced programming with lcc-win32
erstellt.

3.2. Benutzung
lcc kann von der Kommandozeile und als Entwicklungsumgebung gestartet werden.

3.2.1. Kommandozeile
Es genügt, den korrekten Pfad einzustellen und die wichtigsten Optionen zu kennen:
  path c:\lcc\bin;%path%
                          Pfad des Compilers
  lcc                     Start und Ausgabe aller Optionen
  lcc datei.c             Übersetzen der Datei datei.c
  lcclnk datei.obj        Montieren der Datei datei.obj
  datei                   Starten des Programms datei
  lcc -A datei.c          Alle Warnungen anzeigen
  lcc -ansic datei.c Keine lcc-Spracherweiterungen
  lcc -pedantic datei.c Strengstes Ansi-C
  lcc -check datei.c Nur Syntaxprüfung
  lcc -E datei.c          nur Präprozessor
  lcc -errout=fehler datei.c Fehlermeldungen nach fehler
  lcc -I pfad datei.c Weitere Includepfade
  lcc -O datei.c          Optimierung
  lcc -o program datei.c Programm nach program.obj
  lcc -overflowcheck datei.c Programmabbruch bei Überläufen
  lcc -profile datei.c Laufzeitmessungen
  lcc -S datei.c          Assemblerprogramm erzeugen
  lcc -v datei.c          Version
  lcc -z datei.c          Intermediate Code
  lcclnk -o program datei.obj Programm nach program.exe
  lcclnk -errout fehler datei.obj Fehlermeldungen nach fehler
  lcclnk -subsystem x datei.obj x = Console oder Windows
  lcclnk datei.obj
  lcclnk datei.obj
  lcclnk datei.obj
  lcclnk datei.obj
  lcclnk datei.obj
3.2.2. Entwicklungsumgebung                                                            8

3.2.2. Entwicklungsumgebung

4. Pelles C
Pelles C ist ein C-Compiler für Windows von Pelle Orinius. Er wird auf den Webseite
http://www.christian-heffner.de/index.php
vorgestellt und steht dort auch (nach einigen Klicks) bereit.
Eine weitere Webseite mit Beispielprogrammen stammt von John Findlay:
http://www.johnfindlay.plus.com/pellesc/index.html

4.1. Installation
Nach Klick der Downloadseite findet man unter Download die Datei setup.exe, die man holt
speichert und startet.

5. Alternativen

5.1. Übersicht
Eine Übersicht bietet die Webseite
http://www.thefreecountry.com/compilers/cpp.shtml

5.2. Kostenfreie und Freie Compiler
Microsoft Visual C++
Watcom
Tiny C
PCC

5.3. Kommerzielle Compiler
Portland Group PG
Intel icc

6. Integrierte Entwicklungsumgebungen
Ohne ausführliche Beschreibung sei auf kostenlose Entwicklungsumgebungen (integrated
development environment, IDE) hingewiesen:
Eclipse: http://www.eclipse.org/
CodeBlocks http://www.codeblocks.org/
Bloodshed Dev-C: http://www.bloodshed.net/devcpp.html
NetBeans: http://netbeans.org/
Sie erlauben das Edieren, Compilieren und Starten von Programmen und Projekten in einer
Fensterumgebung.
7. jedit                                                                                  9

7. jedit

7.1. Universität Regensburg
Der Editor jedit ist überall verfügbar.

7.2. Installation
Installation unter Download von der Seite http://www.jedit.org/
Linux-Distributionen enthalten jedit oft in ihren packages.

7.3. Bedienung (nur wichtige Elemente)

7.3.1. Grundbedienung
Die Bedienung erfolgt wie bei jedem anderen mausgesteuerten Fensterprogramm.
Insbesondere können natürlich Dateien geöffnet, gespeichert, geschlossen und gedruckt wer-
den; es kann eine neue Datei angelegt werden. Falls mehrere Dateien offen sind, kann
zwischen ihnen durch Klick in der Zeile mit dem Dateinamen und -ort oberhalb des Text-
fensters umgeschaltet werden.
Ist eine Datei mit falscher Zeichencodierung geladen (Datei erscheint verstümmelt), kann
sie mit Angabe der richtigen Zeichencodierung neu geladen werden:
Menü: Datei/Erneut Laden mit Zeichencodierung.
Hier können Sie unter Hunderten von verschiedenen Codierungen wählen. Damit kann
wahrscheinlich jede Datei geöffnet werden.

7.3.2. Zeichensatz, Codes und encodings
Einstellen oder Ändern der Zeichencodierung:
Menü: Extras/Datei-Optionen/Zeichencodierung (am besten UTF-8)
Vorsicht: Ändern der Zeichencodierung ändert die Datei, auch wenn der Inhalt (scheinbar)
gleich bleibt. Die Datei muss erneut gespeichert werden!
Im selben Menü kann die gewünschte Zeilenendemarkierung gewählt werden. Normalerweise
besteht keine Veranlassung, die Betriebssystemvoreinstellung zu ändern.

8. lint und splint
lint ist ein Unix-Programm, das C-Programme auf Unsauberheiten überprüfen kann.
Eine Variante ist splint, das im CIP-Pool in cygwin bereitsteht.
splint kann in cygwin mit setup (devel) installiert werden.
splint kann in Debian mit ,,apt-get install splint“ installiert werden.
splint ist von seiner Homepage installierbar.
8. lint und splint                                                                     10

                             Inhaltsverzeichnis
1. GNU-C       . . . . . . . . . . .       1          3.2.2. Entwicklungsumgebung      .       8
   1.1. Aktivieren und Starten von
        Cygwin im CIP-Pool       . .   .   1   4. Pelles C     . . . . . . . . . . .       8
   1.2. Aktivieren und Starten von                4.1. Installation . . . . . . . .        8
        MinGW im CIP-Pool . .          .   1
   1.3. Start des Compilers . . .      .   2   5. Alternativen . . . . . . . . .           8
   1.4. Starten von übersetzten
        gcc-Programmen unter                      5.1. Übersicht   . . . . . . . .        8
        Windows       . . . . . . .    .   3      5.2. Kostenfreie und Freie
   1.5. Bemerkungen zu Linux       .   .   4           Compiler     . . . . . . . .        8
   1.6. Installation vom Cygwin auf               5.3. Kommerzielle Compiler    . .        8
        dem eigenen Rechner      . .   .   4
   1.7. Installation vom MinGWin               6. Integrierte Entwicklungsumge-
        auf dem eigenen Rech-                     bungen . . . . . . . . . . .             8
        ner . . . . . . . . . .        .   4
                                               7. jedit      . . . . . . . . . . . .       9
   1.8. Festplattensituation nach
        Installation von cygwin    .   .   5      7.1. Universität Regensburg  . .        9
                                                  7.2. Installation . . . . . . . .        9
2. clang     . . . . . . . . . . . .       6      7.3. Bedienung (nur wichtige
   2.1. CIP-Pools und Linux   . . .        6           Elemente) . . . . . . . .           9
   2.2. Optionen    . . . . . . . .        6          7.3.1. Grundbedienung      . .       9
                                                      7.3.2. Zeichensatz, Codes und
3. lcc     . . . . . . . . . . . . .       6                 encodings    . . . . .        9
   3.1. Installation . . . . . . . .       6
   3.2. Benutzung . . . . . . . .          7   8. lint und splint    . . . . . . . .       9
         3.2.1. Kommandozeile   . . .      7
Sie können auch lesen