Index of /~oj14ozun/.old/sp2-ws21

[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory  -  
[DIR]spam/2022-01-26 20:36 -  
[DIR]yes/2022-01-07 14:47 -  
[   ]alle-folien.pdf2022-02-01 21:36 7.2M 
[TXT]arbeitsumgebung.html2021-12-29 17:28 34KEinrichten einer Arbeitsumgebung
[TXT]u5-exploit.c2021-12-16 12:46 509  
[TXT]u2-noint.c2021-11-10 14:21 682  
[TXT]memcheck.sh2021-11-09 11:26 535  
[TXT]u1-case.c2021-10-27 14:20 1.2K 

Webseite zur SP2 Übung (T4)

Tutor: KALUDERCIC, Philip

Diese Seite ist veraltet, und wird nicht mehr verwaltet.
Siehe meine Indexseite, für neuere Übungsseiten.

Hier finden sich Material, Code und sonstige Hinweise aus der SP2 Übung am Mittwoch von 14:15 bis 15:45 in 02.133-113 (Blaues Hochhaus, 2. Stock).

Meine Rechnerübung findet Donnerstags um 12:15 bis 13:45 statt in 01.155-113 (CIP 1, Blaues Hochhaus, 1. Stock). Wie bereits im Onlinebetrieb, ist diese Freiwillig und man kann jede Rechnerübung besuchen.

Bei Fragen bitte mir eine Email schreiben. Ich bekommen grundsätzlich keine StudOn Nachrichten per Mail, sondern lese diese unregelmäßig. Daher würde ich wahrscheinlich erst verspätet antworten.


Ankündigungen und Erinnerungen (Feed)

[] Klausurvorbereitung

In den letzten beiden Stunden, wird die Altklausur vom SS21 besprochen. Am 26.1. machen wir die Programmieraufgabe, am 2.2. die Ankreuz- und Theorieaufgaben.

[] Zur Hackingübung

Am 22.12. findet die “Hackingübung” statt: Wir besprechen da die Freiwillige “Hackingaufgabe”, daher ist auch die Anwesenheit freiwillig.

[] Verschieben der Rechnerübung

Meine Recherübung findet ausnahmsweise nächste Woche statt am Donnerstag (4.11., 12:15) am Mittwoch (3.11., 14:15) statt.

[] Allgemeine Organisation

Wie in der Tafelübung heute entschieden wurde, finden alle zukünftigen Übungen nicht nach dem “inverted classroom” Prinzip statt. Es ist daher nicht notwendig die Videoaufzeichnungen davor anzuschauen.


Links zu C

Wenn man mit C arbeitet, hat man mit verschiedenen Komponenten der Sprache zu tun. Das offensichtlichste ist der Compiler (in SP benutzen wir ja GCC, aber mehr dazu weiter unten).

Die zweite große Komponente ist die (C) Standard Bibliothek. Als Implementierung benutzen wir Glibc, aber die Schnittstelle ist der POSIX Standard.

C ist aber auch eine standardisierte Sprache, d.h. es gibt nicht nur eine (Referenz-)implementierung, sondern alle Compiler und C Bibliotheken, etc. richten sich zunächst nach einem C Standard (in SP C11).

Dazu ist C auch noch eine alte Sprache. Hier sind ein paar Dokumente von vielleicht primär historischem Interesse (dennoch lesenswert!):

Zu Werkzeugen lernen wir in SP Valgrind und GDB kennen. Ich empfehle allen Studenten sich mit GDB vertraut zu machen, da es bei den Aufgaben viel helfen kann. Siehe dazu meine kleine GDB Einführung, welche das allgemeine Arbeiten vorstellt.

C Auto-Formatter

C prettifier bzw. Auto-Formatter: Programme welche automatisch Quelltext einrücken. Das benutzen eines dieser Programme vor dem Abgaben wird wertgeschätzt:
GNU Indent
$ indent -kr meine-datei.c
Hier steht -kr für Kernighan & Ritchie-Style, wie aus dem Buch The C Programming Language. Das ist meist meine Wahl, aber man kann auch -gnu (GNU Style, das ist der default Stil), -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 man-page dokumentiert.
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 nach Google-Style am populärsten.
Artistic Style
$ astyle meine-datei.c
Die Manpage im CIP hilft nicht viel weiter, dafür kann man die Benutzeranleitung auf der Astyle website benutzen.

Diese Programme sind alle im CIP installiert.

Standard Library Implementierungen

Quelltext von C standard library (stdlib) Implementierungen:

Userland Implementierungen

Quelltext von verschiedenen Userland Implementierungen (denke an ls, mv, chmod, ...):

Compiler Implementierungen

In SP ist der Referenz-Compiler GCC (C Compiler des GNU Projekts). Dieser unterstützt diverse C Erweiterungen, welche aber nicht in SP genutzt werden dürfen!

Es kann auch hilfreich sein neben GCC andere Compiler zu benutzen, um seine Programme zu testen. Hierzu zählt Clang (mit dem extra-strengem -Weverything Flag) und TCC, ein schneller und kleiner C99 Compiler. Letzterer ist leider nicht im CIP installiert.

Links zu allgemeinen Betriebsystem-Themen

Die folgenden Links sind nicht direkt für SP relevant, aber können trotzdem nützlich oder interessant sein:

Links zu CIP-Seiten anderer Tutoren

Stef (T10), Felix (T01), Milan (T02, T05), Andreas (Ehemalig), Lou (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.