Provided by: manpages-de-dev_4.13-4_all bug

BEZEICHNUNG

       assert - Bricht das Programm ab, wenn der Prüfausdruck falsch ergibt.

Ü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 wurde kein Wert zurückgegeben.

ATTRIBUTE

       Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
       ┌───────────────┬───────────────────────┬─────────┐
       │ SchnittstelleAttributWert    │
       ├───────────────┼───────────────────────┼─────────┤
       │ assert()      │ Multithread-Fähigkeit │ MT-Safe │
       └───────────────┴───────────────────────┴─────────┘

KONFORM ZU

       POSIX.1-2001, POSIX.1-2008, C89, C99. 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)

KOLOPHON

       Diese  Seite  ist  Teil  der  Veröffentlichung  5.10  des Projekts Linux-man-pages. Eine Beschreibung des
       Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden
       sich unter https://www.kernel.org/doc/man-pages/.

Ü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.

GNU                                            15. September 2017                                      ASSERT(3)