Provided by: manpages-de-dev_4.26.0-1_all 

BEZEICHNUNG
assert - Bricht das Programm ab, wenn der Prüfausdruck falsch ergibt.
BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)
ÜBERSICHT
#include <assert.h>
void assert(scalar Ausdruck);
BESCHREIBUNG
Dieses Makro kann Programmierern beim Suchen von Fehlern in ihren Programmen helfen oder besondere Fälle
beim Absturz handhaben, bei denen nur begrenzte Fehlersuchausgabe erfolgt.
Falls Ausdruck »falsch« (d.h. identisch Null) ist wird assert() eine Fehlermeldung auf der
Standardfehlerausgabe ausgeben und das Programm durch Aufruf von abort(3) beenden. Die Fehlermeldung
enthält den Namen der Datei und die Funktion, die den assert()-Aufruf enthielt, die Quellcodezeilennummer
des Aufrufs und den Text des Arguments, also etwas der folgenden Art:
prog: some_file.c:16: some_func: Assertion `val == 0' failed.
Ist das Makro NDEBUG definiert, wenn das letzte Include für <assert.h> erfolgt, erzeugt das Makro
assert() keinen Code und bewirkt gar nichts. Es wird empfohlen, NDEBUG zu definieren, falls assert() zum
Erkennen von Fehlerbedingungen verwandt wird, da die Software sich nichtdeterministisch verhalten könnte.
RÜCKGABEWERT
Es wird kein Wert zurückgegeben.
ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
┌───────────────────────────────────────────────────────────────────┬───────────────────────┬───────────┐
│ Schnittstelle │ Attribut │ Wert │
├───────────────────────────────────────────────────────────────────┼───────────────────────┼───────────┤
│ assert() │ Multithread-Fähigkeit │ MT-Sicher │
└───────────────────────────────────────────────────────────────────┴───────────────────────┴───────────┘
STANDARDS
C11, POSIX.1-2008.
GESCHICHTE
C89, C99, POSIX.1-2001.
In C89 muss Ausdruck ein int sein, sonst ist das Verhalten nicht definiert. In C99 darf Ausdruck jeden
skalaren Typ annehmen.
FEHLER
assert() ist ein Makro. Wenn der geprüften Ausdruck Seiteneffekte hat, ändert sich das Verhalten des
Programms abhängig davon, ob NDEBUG definiert ist oder nicht. Dies kann sporadische Fehler verursachen,
die bei aktivierter Debug-Option nicht auftreten.
SIEHE AUCH
abort(3), assert_perror(3), exit(3)
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Ralf Demmer <rdemmer@rdemmer.de>, Martin Eberhard
Schauer <Martin.E.Schauer@gmx.de> und Dr. Tobias Quathamer <toddy@debian.org> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
Mailingliste der Übersetzer.
Linux man-pages 6.9.1 2. Mai 2024 assert(3)