Kurs programowania w C cz. 167

Nasza ocena:

3
Wyświetleń: 476
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Kurs programowania w C  cz. 167 - strona 1

Fragment notatki:

Dodatek C Wybrane funkcje biblioteki standardowej assert Deklaracja #define assert(expr) Plik nagłówkowy assert.h Opis Makro przypominające w użyciu funkcję, służy do debuggowania programów. Gdy testo- wany warunek logiczny expr przyjmuje wartość fałsz, na standardowe wyjście błędów wypisy- wany 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 implementacji) i program jest przerywany poprzez wywołanie funkcji  abort. W ten sposób możemy oznaczyć w programie niezmienniki, czyli warunki, które nieza- leż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.h zdefiniować makro NDEBUG, wówczas makro assert przyjmuje postać: #define assert(ignore) ((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 ... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz