Provided by:
manpages-pl-dev_20060617-1_all 
NAZWA
assert - przerwanie pracy programu jeśli wyrażenie jest fałszywe
SKŁADNIA
#include <assert.h>
void assert(scalar wyrazenie);
OPIS
Jeśli w momencie włączania <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 i przerywa pracę programu poprzez wywołanie
abort() jeśli wyrazenie jest fałszywe (równe zeru).
Celem istnienia tego makra jest pomoc programiście w znalezieniu
usterek # czy polskie locale tłumaczy ten komunikat ? w jego
programie. 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
ISO9899 (ANSI C). W standardzie z roku 1990 od wyrażenia wyrazenie
wymaga się, aby było typu int a zachowanie funkcji jest nieokreślone,
gdy tak nie jest. Jednakże w standardzie z roku 1999 może ono być
dowolnego typu skalarnego.
BŁĘDY
assert() jest zaimplementowana 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
usterek Heisena, które nie występują przy włączonym odpluskwianiu.
ZOBACZ TAKŻE
exit(3), abort(3), assert_perror(3)