Provided by: manpages-pl-dev_0.7-1_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

       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 │
       └──────────┴────────────────────────┴─────────┘

ZGODNE Z

       POSIX.1-2001, POSIX.1-2008, 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 4.07 projektu Linux man-pages. Opis  projektu,  informacje
       dotyczące   zgłaszania   błędów   oraz   najnowszą   wersję   oryginału   można   znaleźć   pod   adresem
       https://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ą  4.07 oryginału.