Linux – Basic C Programming (LNX7)

Unix-like systems, Linux - programming

Location, current term course



Brno
10/5/2020 - 10/7/2020
Order
11/30/2020 - 12/2/2020
Order
2/22/2021 - 2/24/2021
Order
Praha
10/19/2020 - 10/21/2020
Order
12/14/2020 - 12/16/2020
Order
3/8/2021 - 3/10/2021
Order
Vlastní Školení na míru (termín, lokalita, obsah, délka)

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 (LNX8)
Schedule:
3 days (9:00 AM - 5:00 PM )
Course price:
525.00 € ( 635.25 € incl. 21% VAT)

Vybrané zákaznické reference

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