Provided by: manpages-pl-dev_4.21.0-2_all bug

NAZWA

       assert - przerwanie pracy programu, jeśli wyrażenie jest fałszywe

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <assert.h>

       void assert(scalar wyrażenie);

OPIS

       To  makro może pomóc programistom znajdować błędy w ich programach lub obsługiwać wyjątki przez wywołanie
       awarii zapewniającej ograniczone wyjście debugowania.

       Jeśli wyrażenie jest fałszywe (to jest równe zeru), assert() wyświetli błąd na standardowe wyjście błędów
       i przerywa pracę programu przez wywołanie  abort(3).  Komunikat  błędu  zawiera  nazwę  pliku  i  funkcji
       zawierającej wywołanie assert(), numer wiersza kodu źródłowego z wywołaniem i tekst argumentu np.:

           prog: some_file.c:16: some_func: Assertion `val == 0' failed.

       Jeśli  w momencie ostatniego włączenia pliku <assert.h> było zdefiniowane makro NDEBUG, to makro assert()
       nie generuje żadnego kodu, więc w ogóle nic nie robi. Nie zaleca się definiowania  NDEBUG  przy  używaniu
       assert() do wykrywania błędów, ponieważ oprogramowanie może zachowywać się nieprzewidywalnie.

WARTOŚĆ ZWRACANA

       Nie jest zwracana żadna wartość.

ATRYBUTY

       Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
       ┌────────────────────────────────────────────────────────────────────┬────────────────────────┬─────────┐
       │ InterfejsAtrybutWartość │
       ├────────────────────────────────────────────────────────────────────┼────────────────────────┼─────────┤
       │ assert()                                                           │ Bezpieczeństwo wątkowe │ MT-Safe │
       └────────────────────────────────────────────────────────────────────┴────────────────────────┴─────────┘

STANDARDY

       POSIX.1-2001, POSIX.1-2008, C99.

BŁĘDY

       assert() jest zaimplementowane jako makro. Jeśli testowane wyrażenie ma jakieś efekty uboczne, zachowanie
       programu  będzie różne w zależności od tego, czy zdefiniowano makrodefinicję NDEBUG. Może to prowadzić do
       Heisenbugów [patrz: http://pl.wikipedia.org/wiki/Heisenbug  -  przyp.tłum.],  które  nie  występują  przy
       włączonym odpluskwianiu.

ZOBACZ TAKŻE

       abort(3), assert_perror(3), exit(3)

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia  niniejszej  strony  podręcznika są: Adam Byrtek <alpha@irc.pl>, Andrzej
       Krzysztofowicz  <ankry@green.mf.pg.gda.pl>,  Robert   Luberda   <robert@debian.org>   i   Michał   Kułach
       <michal.kulach@gmail.com>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją.  Bliższe informacje o warunkach licencji można uzyskać
       zapoznając  się  z  GNU General Public License w wersji 3  lub  nowszej.   Nie   przyjmuje   się   ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy  w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej manpages-pl-
       list@lists.sourceforge.net.

Linux man-pages 6.03                            5 lutego 2023 r.                                       assert(3)