Linux – Basic C Programming (LNXPR1)

Unix-like systems, Linux - programming

Location, current course term

Contact us

Custom Customized Training (date, location, content, duration)

The course:

Hide detail
  • Zopakování syntaxe jazyka C
    1. Význam ANSI C
    2. Direktivy preprocesoru
  • Filosofie programování systému UNIX/Linux
    1. Open source principy
    2. UNIXový přístup
    3. Použití open source knihoven v komerčních programech
  • Chyby a jejich ošetření
    1. Konvence návratových hodnot
    2. Práce s errno
    3. Převod chyby na řetězec
    4. Volání perror
  • Základní nástroje vývojáře
    1. Překladač gcc
    2. Nástroj make
    3. Použití vývojového prostředí
    4. Ruční kompilace pomocí make a gcc
  • Práva běžícího programu a uživatelské informace
    1. Volání getuid
    2. Setuid
    3. Funkce z hlavičkových souborů shadow.h a passwd.h
  • Práce se soubory funkcemi standardních knihoven (stdlib)
    1. Práce se soubory voláním jádra
    2. Význam file-descriptoru
    3. Standardní vstup a výstup
    4. Zamykání souborů apod.
  • Údržba souborů a adresářů
    1. Odkazy (linky)
    2. Práva souborů a adresářů
    3. Vytváření a manipulace s nimi apod.
  • Argumenty funkce main
    1. Zpracování parametrů pomocí funkce getopt
    2. Proměnné atd.
  • Paměť
    1. Alokace a uvolnění paměti
    2. Volání malloc
    3. Free
  • Procesy
    1. Definice
    2. Systém a plánování procesu
    3. Základní volání
  • Vývojový nástroj make
    1. Syntaxe souboru Makefile
  • Dynamické knihovny
    1. Volání funkcí z dynamické knihovny
    2. Vytváření dynamických knihoven
  • Vlákna
    1. Definice a programování
    2. Výhody a nevýhody oproti procesu
  • Zdroje a limity
    1. Limity pro běh procesu
    2. Priorita procesu
  • Terminál
    1. Vlastnosti, nastavení, význam
    2. Program getpass
    3. Standardní vstup a výstup atd.
  • Programování v síti (protokol TCP/IP)
    1. Programování pro Internet
    2. Program server a klient
    3. Volání socket
    4. Conect, accept, listen atd.
  • Pokročilé vlastnosti TCP/IP
    1. Práce s IPv6
    2. Správná práce s DNS resolverem
    3. Blokující a neblokující IO operace
    4. Použití neblokujícího TCP spojení
  • Práce s debuggerem GDB
  • Ladění problémů s pamětí, best practises, nástroj Valgrind pro ladění paměťových problémů
Recommended previous course:
Linux - Basic Administration (LNX1)
Recommended subsequent course:
Linux – Advanced C Programming (LNXPR2)
Schedule:
3 days (9:00 AM - 5:00 PM )
Language:

Vybrané zákaznické reference

ComAp a.s., Jan T.
Linux – Basic C Programming ( LNXPR1)
"Lektor ma viditelne vysokou odbornost a dobre pedagogicke schopnosti. Prostor pro zlepseni vidim ve vyjadrovani, napriklad mene castem pouzivani obratu "...jak kdyby.." :-)"