Fakulta elektrotechniky a komunikačních technologií
VUT v Brně, Ústav automatizace a měřicí techniky

Bakalářská práce
Tvorba úloh pro výuku předmětu: Praktické programování v C++
Pavel Šabatka, rok 2007/2008

# Dokumentace knihovny check.h

### Uživatelské funkce

Checker obsahuje 3 uživatelské funkce, které lze volat přímo z těla kontrolovaného programu. Jsou to:

- void memory_stat (void); - funkce, která vypíše aktuální stav alokované paměti, tj. přehled a případně tabulku s výpisem paměti, alokované v dané chvíli;
- void file_stat (void); - funkce, která vypíše aktuální počet otevřených a uzavřených souborů;
- void stat (void); - funkce, která slučuje obě dvě předchozí funkce.

Vše ostatní automaticky zajišťuje check.h. Knihovna také na konci každého programu automaticky spustí kontrolu.

### Nastavení výpisů

V hlavičkovém souboru je možno změnou některých definovaných maker změnit vlastnosti checkeru.

#### Směrování výpisu

Makrem CHECKER_OUT je definován výstup výpisu checkeru. Implicitně je definován jako standardní chybový výstup, tzn. hodnota makra bude stderr.

#### Výpis tabulek

Několika makry lze ovlivnit obsah vypisovaných tabulek. Jedná se o tato marka:

Makro | Význam makra
__n__ | výpis sloupce pořadí alokace v programu
__SOUBOR_RADEK__ | výpis sloupce souborů a řádku, kde byla funkce pro alokaci volána
__funkce__ | výpis sloupce jmen funkcí, kde byla paměť alokována
__b__ | výpis sloupce velikostí alokované paměti
__adresa_pameti__ | výpis sloupce adres paměti

Je-li příslušné makro definováno, příslušný sloupec se bude zobrazovat. Pokud nemá být sloupec zobrazován, stačí příslušné makro smazat.