16. cvičení

Modularizace

Ukázali jsme si, jak rozdělit zdrojový kód do několika zdrojových souborů (.c) a jak je propojit pomocí hlavičkových souborů (.h). Ve vývojovém prostředí pro Windows je potřeba naklikat tzv. projekt a v něm vytvořit jednotlivé zdrojové a hlavičkové soubory.

Překlad programu rozděleného do několika zdrojových souborů probíhá v několika fázích:

  1. Každý zdrojový soubor (.c) se přeloží na binární soubor (.o) obsahující binární kód pro všechny funkce definované v daném zdrojovém souboru.
  2. Všechny binární soubory .o se spojí, neboli slinkují do výsledného spustitelného souboru. Při linkování probíhá kontrola, všechny použité funkce jsou definovány právě jednou, a že existuje funkce main. Při linkování je možné připojit i tzv. knihovny obsahující dodatečné funkce. Linkování standardní knihovny obsahující funkce jako např. printf probíhá implicitně.

Poznámka: Ve Windows nesmí být projekt uložen na síťovém disku, protože terminál ve Windows (CMD.EXE) neumí pracovat s tzv. UNC cestami a defaultně přejde do adresáře C:\WINDOWS\, kde naše zdrojáky pochopitelně nejsou. Pokud si zdrojové soubory ukládáte na flash disk apod., dejte si také pozor na to, jestli má disk vždy stejné písmenko.

Poznámka: Ve Windows cesta k adresáři s projektem nesmí obsahovat znaky mimo ASCII tabulku (např. znaky s diakritikou), jinak překlad projektu nebude fungovat.

Želví grafika

Kreslení obrázků pomocí želví grafiky.

Instalace knihovny SDL

Pro práci s grafikou použijeme knihovnu SDL, kterou je potřeba nainstalovat. Pro jednoduchost jsem připravil archivy pro Windows i pro Linux, které stačí rozbalit: viz adresář zelva.

V archivu pro Windows jsou adresáře i686-w64-mingw32 pro 32 bitový systém a x86_64-w64-mingw32 pro 64 bitový systém, zkopírujte si příslušný adresář dle vašeho systému a přejmenujte dle vlastní fantazie (např. ProjectZelva). Dále je potřeba zkopírovat soubor SDL2.dll z podadresáře bin o úroveň výš, kde budete vytvářet zdrojové soubory.

Zdrojové soubory

Z adresáře zelva si stáhněte zdrojové soubory zelva.h, zelva.c, obrazek.c a uložte je do adresáře s knihovnou SDL (např. ProjectZelva). Pro Linux si stáhněte také soubor Makefile a uložte ho tamtéž. V adresáři projektu by tedy měly být tyto soubory a adresáře:

Překlad zdrojových souborů

V Linuxu spusťte terminál, přejděte do adresáře se zdrojovými soubory a spusťte příkaz make. Výsledný program se jmenuje obrazek.

Ve Windows vytvořte projekt v daném adresáři a přidejte do něj zdrojové soubory zelva.h, zelva.c a obrazek.c. V nastavení projektu je potřeba naklikat „include path“ (cesta k podadresáři include), „library path“ (cesta k podadresáři lib) a „linker options“ (parametry -lSDL2 -lm). Takto vytvořený projekt by měl jít zkompilovat a spustit (pokud jste zkopírovali soubor SDL2.dll).