39060

39060



Dodatek C

Wybrane funkcje biblioteki standardowej

assert

Deklaracja

•define assert(expr)

Plik nagłówkowy

assert.li

Opis

Makro przypominające w użyciu funkcji', służy <lo debuggowania programów. Gdy teeto-wany warunek logiczny expr przyjmuje wartość fałsz, na standardów wyjście błędów wypisywany jest komunikat o błędzie (zawierające m.in. argument wywołania makra: nazwę funkcji, w której zostało wywołane; nazwę pliku źródłowego oraz numer linii w formacie zależnym od impkinentacji) i program jest przerywany poprzez wywołanie funkcji abort.

W ten sposób możemy oznaczyć w programie niezmienniki, czyli warunki, które niezależnie od wartości zmiennych muszą pozostać prawdziwe. Jeśli asercja zawiedzie, oznacza to, że popełniliśmy błąd w algorytmie, piszemy sobie po pamięci (nadając zmiennym wartości, których nigdy nie powinny mieć) albo nastąpiła po drodze sytuacja wyjątkowa, na przykład związana z obsługą operacji wejścia-wyjścia.

Można łatwo pozbyć się asercji. uwalniając kod od spowalniających obciążeń a jednocześnie nie musząc kasować wystąpień assert i zachowując je na przyszłość. Aby to zrobić, należy przed dołączeniem pliku nagłówkowego assert.li zdefiniować makro NDEBUG. wówczas makro assert przyjmuje postać:

Sdefine assert(lgnore) ((void)0)

Makro assert jest redefiniowane za każdym dołączeniem pliku nagłówkowego assert.h.

Wartość zwracana

Makro nie zwraca żadnej wartości.

189



Wyszukiwarka

Podobne podstrony:
190 DODATEK C. WY BR AS E FUNKCJE BIBLIOTEKI STANDARDOWEJPrzykład •include <assert.h> int
102 DODATEK C. WY BR AS E FUNKCJE BIBLIOTEKI STANDARDOWEJ ispunct sprawdza czy znak jest znakiem prz
1D4 DODATEK C. WY BR AS E FUNKCJE BIBLIOTEKI STANDARDOWEJ /* Przydzielenie początkowego bloku panięc
108 DODATEK C. WY BR AS E FUNKCJE BIBLIOTEKI STANDARDOWEJWartość zwracana Jeżeli funkcjo zakończą si
96 ROZDZIAŁ 13. BIBLIOTEKA STANDARDOWAGdzie są funkcje z biblioteki standardowej? Pisząc program w j
196DODATEK C. WY BU AS E FUNKCJE BIBLIOTEKI STANDARDOWEJ •    określenie formatu. Jeż
200DODATEK C. WY BU AS E FUNKCJE BIBLIOTEKI STANDARDOWEJ str tablica znaków, z której mają być odczy
ANSI C 7 1 ELEMENTARZ Model wprowadzania i wyprowadzania danych, realizowany przez funkcje z bibli
SDC11583 Łańcuchy - <string.h> Funkcje z biblioteki standardowej operujące na łańcuchach
ANSI C 2 DODATEK B BIBLIOTEKA STANDARDOWA Tablica B-1. Przekształcenia funkcji printf Znak Typ
ANSI C 3 DODATEK B BIBLIOTEKA STANDARDOWA Tablica B-2. Przekształcenia funkcji scanf Znak Dana
ANSI C 7 DODATEK B BIBLIOTEKA STANDARDOWA double strtod(const char *s, char **endp) Funkcja strtod
ANSI C 8 DODATEK B BIBLIOTEKA STANDARDOWA ________ char *getenv(const char *name) Funkcja getenv z
ANSI C 0 DODATEK B BIBLIOTEKA STANDARDOWA____ clock_t clock(void) Funkcja clock zwraca czas proces
ANSI C 6 4 FUNKCJE I STRUKTURA PROGRAMU_________._—---- W bibliotece standardowej występuje funkcj
ANSI C 0 DODATEK B BIBLIOTEKA STANDARDOWA DODATEK B BIBLIOTEKA STANDARDOWAWejście i wyjście: nagłó
ANSI C 1 DODATEK B BIBLIOTEKA STANDARDOWA cznej tablicy. Wywołanie tmpnam(s) wstawia tę nazwę do a
ANSI C 4 DODATEK B BIBLIOTEKA STANDARDOWA czytaniu ze strumienia. Dla każdego strumienia można wyc

więcej podobnych podstron