• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Embedded Systems Software
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Sommersemester 2025
      • Applied Software Architecture
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • Wintersemester 2024/25
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Systemprogrammierung 2
      • Verlässliche Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Lehre
  3. Sommersemester 2025
  4. Systemprogrammierung 1
  5. FAQ

FAQ

Bereichsnavigation: Lehre
  • Systemprogrammierung 1
    • Vorlesung
      • Übung
        • GitLab Tests
          • Semesterplan
            • FAQ
              • Kontakt
                • Prüfung
                  • Altklausuren
                    • Evaluation
                      • Intern

                      FAQ

                      Häufig gestellte Fragen

                      Prüfung

                      Genaue Infos hierzu finden Sie auf der Seite Prüfung.

                      Übung

                      Anmeldung für die Tafelübung?

                      Die Anmeldung für die Tafelübungen findet in einer der ersten Wochen der Vorlesungszeit im Windhundverfahren statt: Waffel.

                      Müssen alle Gruppenmitglieder die selbe Tafelübung besuchen?

                      Ja. Die Zusammenarbeit in Gruppen ist nur möglich, falls sich alle Partner in der gleichen Übungsgruppe befinden.

                      Bedeutung der Miniklausur?

                      Die Miniklausur entspricht einer "normalen" Übungsaufgabe mit maximal 15 Punkten. Berechnungsformel für die entsprechende Übungspunktezahl: PÜbung=12PMKP_\mathrm{Übung} = \frac{1}{2} P_\mathrm{MK}

                      Mein Programm tut nicht was es soll!

                      Oft sind Warnungen des Übersetzers ein Hinweis auf Fehler im Programmcode. Daher ist es zielführend, die Warnungen des Übersetzers nicht zu ignorieren. Manchmal hilft es aber auch zusätzliche Warnungen des Übersetzers zu aktivieren.

                      • -Wextra: Einige zusätzliche Warnungen.
                      • -Wshadow: Warnung, falls eine lokale Variable eine Variable eines äußeren Blocks verdeckt.
                      • -Wformat=2: Zusätzliche Überprüfungen von Formatstrings
                      • -Wlogical-op: Warnung bei potentiellem Vertauschen von logischen und bitweisen Operationen
                      • ...und noch mehr
                      Beim Entkäfern deines Programms sind folgende Utensilien hilfreich. Einfache aber weniger mächtige Tools zuerst:
                      • clang-format [--dry-run] -i myprogram.c: Editiert die Datei und formatiert den Code entsprechend eines einheitlichen Stils. Wenn Sie Probleme haben, ihren Code übersichtlich zu halten (Einrückung etc.) kann dies die Übersichtlichkeit erhöhen und die Fehlersuche beschleunigen. indent --linux-style source.c another_source.c erfüllt den selben Zweck, editiert jedoch nur Einrückung & Klammerpositionen.
                      • clang-tidy myprogram.c findet Muster im Code die häufig in Programmfehlern resultieren. Einige Warnungen sind für die Entwicklung von POSIX-Konformen Programmen nicht hilfreich, verwenden Sie diese .clang-tidy Konfigurationsdatei um sie zu deaktivieren.
                      • valgrind --leak-check=full --show-leak-kinds=all ./mybinary: Prüft auf ungültige Speicherzugriffe und erkennt/lokalisiert Speicherleaks.
                      • valgrind --tool=helgrind ./mybinary kann Synchronisationsprobleme finden. Achten Sie aber darauf, dass es hierbei zu false-positives kommen kann.
                      • Durch das Compilieren mit -D_FORTIFY_SOURCE=1 in den CFLAGS werden Pufferüberläufe in Bibliotheksfunktionen teilweise erkannt.
                      • Mit dem clang ThreadSanitizer können Wettlaufsituationen gefunden werden. Kompilieren und linken Sie hierzu Ihr Programm mit CC=clang und EXTRA_CFLAGS=-fsanitize=thread -g -O1 und führen Sie es aus.
                      • Der clang AddressSanitizer kann ähnlich zu valgrind Speicherfehler finden. Kompilieren und binden Sie dazu Ihr Programm mit CC=clang, LD=clang, und EXTRA_CFLAGS=-fsanitize=undefined,leak,address,nonnull-attribute -fno-omit-frame-pointer -g -O1 und führen Sie es aus.
                      • Compiler Explorer (godbolt.org) erlaubt es einem einfach zu sehen, zu welchem Maschinencode C Programme kompiliert werden und wie sich C in bestimmten Situationen genau verhält.
                      • GDB: Der Debugger 😉
                      Bei Fragen zur Benutzung der Tools empfiehlt sich der Besuch der Rechnerübung. Welche Tools finden Sie am einfachsten und nützlichsten? Geben Sie uns Feedback!
                      Friedrich-Alexander-Universität
                      Erlangen-Nürnberg

                      Schlossplatz 4
                      91054 Erlangen
                      • Impressum
                      • Datenschutz
                      • Barrierefreiheit
                      • Facebook
                      • RSS Feed
                      • Xing
                      Nach oben