NAZWA¶
assert - przerwanie pracy programu jeśli wyrażenie jest fałszywe
SKŁADNIA¶
#include <assert.h>
void assert(scalar wyrazenie);
OPIS¶
Uwaga! To tłumaczenie może być nieaktualne!
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)
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu
Tłumaczenia Manuali i
może nie być aktualne. W razie
zauważenia różnic między powyższym opisem a
rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o
zapoznanie się z oryginalną (angielską) wersją strony
podręcznika za pomocą polecenia:
- man --locale=C 3 assert
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
znaleźć pod adresem
http://sourceforge.net/projects/manpages-pl/.