05_CompileroptionsStandardlibrary_handout_Z Flashcards
Was sind Compiler-Optionen und welche Aspekte des Compilers steuern sie?
Compiler-Optionen steuern das Verhalten des Compilers über Kommandozeilen-Argumente. Sie umfassen Output-Optionen, Optimierungs-Optionen, Debugging-Optionen, Suchpfade und das Linken von Bibliotheken.
Welche Funktion hat die Compiler-Option -o
?
Die Option -o
legt den Namen der Ausgabedatei fest.
Was bewirkt die Compiler-Option -E
?
Die Option -E
stoppt den Compiler nach dem Präprozessorschritt.
Welche Compiler-Option stoppt den Compiler nach dem Kompilierungsschritt?
Die Option -S
stoppt den Compiler nach dem Kompilierungsschritt.
Was ist die Funktion der Compiler-Option -c
?
Die Option -c
stoppt den Compiler nach dem Assemblierungsschritt.
Welche Option zeigt die Befehle der einzelnen Compiler-Schritte an?
Die Option -v
zeigt die Befehle der einzelnen Compiler-Schritte an.
Welche Optimierungsstufe wird durch die Option -O0
eingestellt?
Die Option -O0
steht für keine Optimierung.
Was bewirkt die Optimierungs-Option -O1
?
Die Option -O1
optimiert auf Performance.
Welche Optimierungs-Option ist empfohlen und warum?
Die Option -O2
ist empfohlen, da sie mehr Optimierungen durchführt und ein guter Kompromiss zwischen Performance und Komplexität ist.
Was ist der Nachteil der Optimierungs-Option -O3
?
Die Option -O3
führt maximale Optimierungen durch, die manchmal zu aggressiv sein können und unerwartete Probleme verursachen können.
In welchem Szenario ist die Optimierungs-Option -Os
besonders wichtig?
Die Option -Os
optimiert auf Programmgröße und ist besonders wichtig für Microcontroller, wo Speicherplatz begrenzt ist.
Welche Optimierungs-Option ist speziell für Debugging geeignet?
Die Option -Og
ist speziell für Debugging geeignet.
Was bewirkt die Debugging-Option -g
?
Die Option -g
fügt Debugging-Informationen hinzu.
Welche Debugging-Option sorgt dafür, dass keine Debugging-Informationen hinzugefügt werden?
Die Option -g0
sorgt dafür, dass keine Debugging-Informationen hinzugefügt werden.
Welche Stufe der Debugging-Informationen wird durch die Option -g2
bereitgestellt?
Die Option -g2
stellt standardmäßige Debugging-Informationen bereit.
Was ist der Unterschied zwischen -g2
und -g3
bei den Debugging-Optionen?
Die Option -g3
fügt umfassende Debugging-Informationen hinzu, einschließlich Macro-Definitionen, während -g2
nur die standardmäßigen Debugging-Informationen bereitstellt.
Welche Option fügt einen Suchpfad für Header-Dateien hinzu?
Die Option -I
fügt einen Suchpfad für Header-Dateien hinzu.
Was bewirkt die Option -L
?
Die Option -L
fügt einen Suchpfad für Bibliotheken hinzu.
Wie gibt man eine zu linkende Bibliothek an?
Mit der Option -l
gibt man eine zu linkende Bibliothek an.
Wie werden Bibliotheksnamen bei der Option -l
behandelt?
Bibliotheksnamen beginnen immer mit “lib”, und die Präfixe werden bei der Option -l
weggelassen (z.B. -lmylib
linkt libmylib.so
).
Welche Compiler-Option schaltet alle Warnungen ein?
Die Option -Wall
schaltet alle Warnungen ein.
Was bewirkt die Option -Werror
?
Die Option -Werror
wandelt alle Warnungen in Fehler um.
Was bietet die C Standardbibliothek?
Die C Standardbibliothek bietet Implementierungen für häufig benötigte Funktionalitäten und enthält verschiedene Header-Dateien, die spezifische Funktionen zur Verfügung stellen.
Welche Funktionen bietet der Header stdio.h
?
Der Header stdio.h
bietet I/O Funktionalitäten.
Welche Funktionen sind im Header stdlib.h
enthalten?
Der Header stdlib.h
enthält generelle Hilfsfunktionen.
Für welche Art von Funktionen ist der Header string.h
zuständig?
Der Header string.h
ist für String-Funktionen zuständig.
Was ermöglicht der Header ctype.h
?
Der Header ctype.h
ermöglicht Tests für Zeichenklassen.
Welche Funktionen bietet der Header math.h
?
Der Header math.h
bietet mathematische Funktionen.
Welche Art von Funktionen stellt der Header time.h
bereit?
Der Header time.h
stellt Zeit/Datum-Funktionen bereit.
Wofür wird der Header assert.h
verwendet?
Der Header assert.h
wird zur Fehlersuche verwendet.
Was enthält der Header errno.h
?
Der Header errno.h
enthält Funktionen zur Fehlerbehandlung.
Welche Art von Funktionen bietet der Header stdarg.h
?
Der Header stdarg.h
bietet Funktionen für variable Argumentlisten.
Welche Informationen bieten die Header limits.h
und float.h
?
Die Header limits.h
und float.h
bieten Informationen über die Grenzwerte von Datentypen.
Warum sollten Entwickler die C Standardbibliothek verwenden, bevor sie eigene Implementierungen erstellen?
Die Verwendung der C Standardbibliothek erleichtert die Softwareentwicklung erheblich, indem sie vordefinierte Funktionen bereitstellt, die wiederkehrende Aufgaben übernehmen. Entwickler sollten stets prüfen, ob benötigte Funktionen bereits in der Standardbibliothek vorhanden sind, bevor sie eigene Implementierungen erstellen.