Návrh Školení

Úvod

  • Přehled funkcí a aplikací jazyka C

Příprava vývojového prostředí

  • Vybrání IDE
  • Konfigurace kompilátoru

Napsání ukázkového programu

  • Definování problému
  • Kódování podle požadavků

Definování oboru platnosti proměnných a funkcí

  • Pochopení oboru platnosti, viditelnosti a životnosti
  • Práce se specifikátory úložiště: auto, extern, register, static

Správa dat v programu C

  • Kromě základních datových typů
  • Práce s pokročilými datovými typy: struktury, spojové seznamy atd.
  • Uložení různých datových typů do stejného umístění v paměti

Úprava vlastností proměnné

  • Kromě modifikátorů typů
  • Práce se specifikátory typů: konstantní, volatilní atd.

Manipulace s bitovými údaji v C

  • Práce s daty menšími než byte
  • Práce s operátory pro manipulaci s bitovými údaji

Ovládání toku programu

  • Kromě sekvencování
  • Použití příkazu goto

Čtení a zápis dat

  • Zopakování funkcí vstupu/výstupu
  • Vylepšení čitelnosti výstupu

Programování pro více platform

  • Pochopení příkazů kompilátoru
  • Kompilace kódu podmíněně

Optimalizace výkonu programu

  • Makra vs. funkce
  • Definování makra pro spouštění úlomků kódu

Dynamické alokace paměti

  • Výhody použití ukazatelů: rychlost provedení
  • Ukazatele na funkce
  • Přístup k paměti a manipulace s adresou

Ladění programu v C

  • Pokročilé techniky pro kontrolu, detekci a opravu chyb
  • Práce s laděcími nástroji (Gnu Debugger)

Vytvoření statické knihovny

  • Pochopení, jak je statická knihovna odkazována do spustitelného souboru
  • Vytvoření statické knihovny

Vytvoření sdílené knihovny

  • Statické knihovny vs. sdílené knihovny (dynamické knihovny)
  • Pochopení, jak je sdílená knihovna odkazována a načítána do paměti za běhu
  • Vytvoření sdílené knihovny

Abstrakce dat v programu

  • Přehled rozhraní, specifikace a implementace
  • Vytvoření abstraktního datového typu
  • Regresní testování abstraktního datového typu

Hledání a řazení dat

  • Hledání polí pomocí lineárního vyhledávání, binárního vyhledávání atd.
  • Řazení polí pomocí selekčního řazení, vkládacího řazení, bublinkového řazení

Meziprocesorová komunikace a signály

  • Pochopení procesů, socketů a signálů
  • Implementace IPC pomocí sdílených souborů, sdílené paměti, potoků, front zpráv, socketů, semaforů atd.

Synchronní spouštění programu v C

  • Spouštění různých částí programu současně prostřednictvím multithreadingu
  • Napsání vlákna (thread)

Pokročilé síťové programování

  • Zopakování dominantních protokolů TCP, UDP, IP atd.
  • Služba na více portech, přežití náhlých výpadků sítě atd.
  • Napsání robustních socketových API

Směrem k kvalitnímu kódu

  • Kolektivní revize kódu a paralelní programování
  • Důležitost iteračního kodování (refaktoring)

Shrnutí a závěr

Požadavky

  • Zkušenosti s programováním v C

Cílová skupina

  • Programátoři
  • Vývojáři
 28 hodiny

Počet účastníků


Cena za účastníka

Reference (2)

Nadcházející kurzy

Související kategorie