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> int102 DODATEK C. WY BR AS E FUNKCJE BIBLIOTEKI STANDARDOWEJ ispunct sprawdza czy znak jest znakiem prz1D4 DODATEK C. WY BR AS E FUNKCJE BIBLIOTEKI STANDARDOWEJ /* Przydzielenie początkowego bloku panięc108 DODATEK C. WY BR AS E FUNKCJE BIBLIOTEKI STANDARDOWEJWartość zwracana Jeżeli funkcjo zakończą si96 ROZDZIAŁ 13. BIBLIOTEKA STANDARDOWAGdzie są funkcje z biblioteki standardowej? Pisząc program w j196DODATEK 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ć odczyANSI C 7 1 ELEMENTARZ Model wprowadzania i wyprowadzania danych, realizowany przez funkcje z bibliSDC11583 Łańcuchy - <string.h> Funkcje z biblioteki standardowej operujące na łańcuchachANSI C 2 DODATEK B BIBLIOTEKA STANDARDOWA Tablica B-1. Przekształcenia funkcji printf Znak TypANSI C 3 DODATEK B BIBLIOTEKA STANDARDOWA Tablica B-2. Przekształcenia funkcji scanf Znak DanaANSI C 7 DODATEK B BIBLIOTEKA STANDARDOWA double strtod(const char *s, char **endp) Funkcja strtodANSI C 8 DODATEK B BIBLIOTEKA STANDARDOWA ________ char *getenv(const char *name) Funkcja getenv zANSI C 0 DODATEK B BIBLIOTEKA STANDARDOWA____ clock_t clock(void) Funkcja clock zwraca czas procesANSI C 6 4 FUNKCJE I STRUKTURA PROGRAMU_________._—---- W bibliotece standardowej występuje funkcjANSI 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 aANSI C 4 DODATEK B BIBLIOTEKA STANDARDOWA czytaniu ze strumienia. Dla każdego strumienia można wycwięcej podobnych podstron