SP1 Übung (#15)
Tutor: Philip K.
Diese Seite ist veraltet, und wird nicht mehr verwaltet.
Siehe meine
Indexseite, für neuere Übungsseiten.
Hier findet sich Material und Code aus der SP1 Übung am Freitag, 12:15-13:45.
Meine Recherübung ist gleich danach, von 14:15 bis 15:45. Diese kann genutzt werden für Fragen oder Probleme mit den Aufgaben.
Bei Fragen bitte mit eine Email schreiben.
Am besten auch noch den Betreff mit [SP1]
anfangen lassen, damit ich diese leichter erkenne.
Ich bekommen grundsätzlich keine StudOn Nachrichten per Mail, sondern lese diese ab und zu, und würde daher erst verspätet antworten.
Wegen Corona stellt der Lehrstuhl viele Tools bereit um die Kooperation zu vereinfachen. Diese Könnt ihr hier finden.
SP Links
- SP2 Homepage (Aufgabenstellungen)
- Korrekturhinweise (
Cheat-sheet
-Version) - Semesterplan
- FSI Subforum, wird nicht mehr so viel benutzt wegen StudOn.
- SP Mailingslisten — Allgemein: i4sp@cs.fau.de, Organisatorisch: i4sp-orga@cs.fau.de.
- Wosch Glossar (auch zu finden unter
https://woschglossar.de
)
C, *nix und verwandte Links
- Compiler Explorer, zeigt wie Hochsprachen in Assembler übersetzt werden.
- Webseite des C Standard Komitees (siehe auch)
- GNU Libc Documentation (auch im Terminal lesbar mit
$ info libc
) - C Operator Precedence Table, d.h. welche Operatoren (
+
,->
,=
, ...) binden wie stark? - Einführung in GDB, mein Versuch einer GDB Anleitung.
- The C Programming Language, von Kernighan and Ritchie (2. Edition)
- Frequently Asked Questions in
comp.lang.c
(Warnung: Kann veraltet sein) - C-Deklaration zu Englisch-Übersetzer
-
C
prettifier
bzw. Auto-Formatter: Programme welche automatisch Quelltext einrücken.GerneBitte vor Abgaben nutzen:-
ClangFormat:
$ clang-format -i meine-datei.c
Mit dem Parameter--style=<choice>
kann der Stil eingestellt werden. Optionen sind LLVM,Google
,Chromium
,Mozilla
,WebKit
. Von diesen ist meines Wissens nachGoogle
-Style am populärsten. -
Artistic Style:
$ astyle meine-datei.c
-
GNU Indent:
$ indent -kr meine-datei.c
Hier steht-kr
fürKernighan & Ritchie
-Style, wie aus dem Buch The C Programming Language. Das ist meist meine Wahl, aber man kann auch-gnu
(GNU Style),-orig
(Original BSD
, auch bekannt als Allman-Style),-linux
(Linux Kernel Style) angeben, neben einer ganzen Reihe an anderen Optionen im Feinigkeiten einzusehen, wie in der manpage dokumentiert.
-
ClangFormat:
-
Quelltext von C standard library (stdlib) Implementierungen:
- glibc, die GNU Standardbibliothek. Wird im CIP benutzt, ist aber oft kompliziert (siehe auch).
- musl, eine einfachere (und saubere) Implementierung der libc. Sehr lesbar! (siehe auch).
- OpenBSD libc, eine schöne nicht-Linux libc.
-
Quelltext von verschiedenen Userland Implementierungen (denke an
ls
,mv
,chmod
, ...):- coreutils, die GNU implementierung der üblichen Unix programme, ist auch was im CIP gefunden wird.
- Busybox, ein Project das sich darauf Konzentriert möglichst kleine Programme zu produzieren! (siehe auch)
- sbase, ein minimalistisches aber lesbares Userland vom Suckless Projekt.
- OpenBSD, vom OpenBSD Projekt verwaltetes libc, dessen Geschichte bis zum den ersten Unix Versionen zurückgeht. Auch auf GitHub zu finden.
- Eine Sammlung von studentischen Tests, natürlich ohne Garantie auf Richtigkeit von Lehrstuhlseite aus.
- User-Mailing Listen von ein paar Programmen: bash, make, nano. Es sollte genügen bei Fragen einfach an die angegebene Adresse zu schreiben.
CIP-Seiten von anderen Tutoren
Andreas (T05, T12), Stef (T07), Felix (T01), Lou (Ehemalig), Eva (Ehemalig).
FYI: Jeder mit einem CIP-Account seine eigene Seite erstellen kann. Einfach
$ mkdir ~/.www $ setfacl -m u:www:rx ~ ~/.www
ausführen, und dann https:/wwwcip.cs.fau.de/~[username]/
besuchen.
Mehr Infos auf der CIP-Pool Homepage.
In ~/.www/
kann man nun seine eigenen HTML Dateien schreiben, oder einen statischen Generator benutzen. Eine Zwischenoption ist Pandoc.
Da der CIP den Apache Web Server benutzt, kann man auch einfach das automatische Datei-Listing benutzen. Diese kann weiter Konfiguriert werden mit der .htaccess
Datei, wie ich es auf dieser Seite auch mache.