Provided by: manpages-de-dev_2.5-1_all bug

BEZEICHNUNG

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

ÜBERSICHT

       #include <assert.h>

       void assert(scalar expression);

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 expression »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.

       ┌──────────────┬───────────────────────┬─────────┐
       │SchnittstelleAttributWert    │
       ├──────────────┼───────────────────────┼─────────┤
       │assert()      │ Multithread-Fähigkeit │ MT-Safe │
       └──────────────┴───────────────────────┴─────────┘

KONFORM ZU

       POSIX.1-2001,  POSIX.1-2008,  C89, C99. In C89 muss expression ein int sein, sonst ist das
       Verhalten nicht definiert. In C99 darf expression 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  4.15  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 <debian-l10n-german@lists.debian.org>.