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.