Provided by: manpages-pl-dev_4.18.1-1_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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   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⟩.