Děkujeme za vaši dotaz! Jeden z našich pracovníků vás brzy kontaktuje.
Děkujeme za rezervaci! Jeden z našich pracovníků vás brzy kontaktuje.
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
Reference (2)
cvičení a metodika
Javier MIllan Rios - si
Kurz - Advanced C Programming
Přeloženo strojem
An interesting and broad scope