Tvrdit.h

Asert.h  je soubor záhlaví standardní knihovny C , který deklaruje makro preprocesoru assert()C. Toto makro implementuje výjimku, kterou lze použít ke kontrole výpočtů provedených programem.

Makra

Makro assert()přidá do programu diagnostický postup. Pokud je po spuštění výraz nepravdivý (to znamená, že výsledek porovnání je 0), assert()zapíše informace o volání do stderr a zavolá abort(). Informace, které jsou zapsány, stderrzahrnují:


Aby bylo možné kontrolu zakázat, není nutné jej vylučovat z kódu nebo komentovat deklaraci makra, stačí deklarovat ještě jedno makro - NDEBUGv programu dříve #include <assert.h>:

#define NDEBUG

pak bude deklarace makra assert()vypadat takto:

#define claim(ignore)((void) 0)

a proto nijak neovlivní chod programu.

Makro Claim() je přepsáno pokaždé, když je připojeno assert.h, v závislosti na NDEBUG. [jeden]

Makro assert()je implementováno jako makro, nikoli jako funkce. Pokud je makro assertpoužito k tomu, aby bylo možné volat samotnou funkci assert, není zaručeno správné fungování kódu.

Příklad použití

#include <stdio.h> #include <assert.h> int main ( void ) { SOUBOR * fd ; fd = fopen ( "/home/user/file.txt" , "r" ); tvrdit ( fd ); fclose ( fd ); návrat 0 ; }

V tomto příkladu bude makro assert()fungovat, pokud funkce fopen()selže.

Viz také

Odkazy

Poznámky

  1. ISO/IEC 9899:1999 . Získáno 31. července 2011. Archivováno z originálu 22. srpna 2011.