Provided by: manpages-pl-dev_0.6-2_all bug

NAZWA

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

SKŁADNIA

       #include <assert.h>

       void assert(scalar wyrażenie);

OPIS

       Jeśli  w momencie ostatniego włączenia pliku <assert.h> jest zdefiniowane makro NDEBUG, to makro assert()
       nie generuje żadnego kodu, więc w ogóle nic nie robi. W  przeciwnym  przypadku  makro  assert()  wypisuje
       komunikat  na  standardowym  wyjściu  błędów  i  przerywa  pracę  programu przez wywołanie abort(3) jeśli
       wyrażenie jest fałszywe (to jest równe zeru).

       Celem istnienia tego makra jest pomoc programistom w znalezieniu  usterek  w  ich  programach.  Komunikat
       "assertion failed in file foo.c, function do_bar(), line 1287" jest bezużyteczny dla użytkownika.

WARTOŚĆ ZWRACANA

       Nie jest zwracana żadna wartość.

ZGODNE Z

       POSIX.1-2001,  C89,  C99. W C89 wyrażenie musi być typu int, w przeciwnym wypadku zachowanie funkcji jest
       nieokreślone, jednakże w C99 może być dowolnego typu skalarnego.

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)

O STRONIE

       Angielska wersja tej strony pochodzi z wydania 3.71 projektu Linux man-pages. Opis  projektu,  informacje
       dotyczące   zgłaszania   błędów,   oraz   najnowszą   wersję   oryginału   można   znaleźć   pod  adresem
       http://www.kernel.org/doc/man-pages/.

TŁUMACZENIE

       Autorami  polskiego   tłumaczenia   niniejszej   strony   podręcznika   man   są:   Adam   Byrtek   (PTM)
       <abyrtek@priv.onet.pl>,    Andrzej    Krzysztofowicz    (PTM)   <ankry@mif.pg.gda.pl>,   Robert   Luberda
       <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>.

       Polskie tłumaczenie jest częścią  projektu  manpages-pl;  uwagi,  pomoc,  zgłaszanie  błędów  na  stronie
       http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją  3.71 oryginału.

GNU                                                2013-09-26                                          ASSERT(3)