Search
Podklady přednášek pro aktuální akademický rok 2016/2017. Podklady se skládají z promítaných slidů, které jsou také k dispozici ve zkrácených verzích šetrnějších k případnému tisku, bez přechodů mezi snímky a ve formátu čtyř a devíti snímků na stránku.
Podklady tvoří podpůrný materiál a jejich učelem není nahradit vlastní zápisky z přednášky, které slouží také jako prostředek osvojení si studované problematiky.
Tématicky je náplň přednášek pokryta v knize K.N. King: C Programming A Modern Approach, Second Edition. W. W. Norton & Company, Inc., 2008, případně též Pavel Herout, Učebnice Jazyka C - 1. díl, Kopp, 2016. Před přednáškou je doporučeno pročíst si odkazované kapitoly.
V přednáškách uvedené zdrojové kódy jsou přiloženy v příslušném .zip archivu. Kromě vyzkoušení programů je též vřele doporučeno si složitější úlohy samostatně naprogramovat a přednáškové příklady využít pro inspiraci.
.zip
— Jan Faigl 2017/02/22 06:49
— Jan Faigl 2017/03/04 21:03 Aktualizace: Úprava sazby pro zachování kódovacího stylu. Doplnění příkladu sizeof.c.
sizeof.c
— Jan Faigl 2017/02/20 15:57
Dotazy z přednášky
Q: Co udělá realloc() při zmenšení velikost nebo nastavení velikosti na 0?
realloc()
Zmenší alokované místo a v případě 0, např. realloc(ptr, 0); uvolní paměť a odpovídá tak volání free(ptr);.
realloc(ptr, 0);
free(ptr);
— Jan Faigl 2017/03/16 22:25
— Jan Faigl 2017/03/21 13:34
— Jan Faigl 2017/03/04 21:17 Aktualizace: Terminál raw režim.
— Jan Faigl 2017/04/04 13:42
— Jan Faigl 2017/03/04 21:17
Přednáška formou ukázek.
Q: Proč při nastavení terminálu do raw režimu nedochází k tisku nového řádku na začátku?
Při nastavení raw řežimu cfmakeraw() je vypnuto zpracování výstupních znaků (output postprocessing), které automaticky nahrazuje konec řádku za “návrat vozíku a nový řádek” (NL na CR-NL). Vyřešit lze buď explicitním uvedením znaku '\r', což ale není příliš kompatibilní nebo povolením output processing (OPOST) např.
cfmakeraw()
static struct termios tio; tcgetattr(STDIN_FILENO, &tio); cfmakeraw(&tio); // nastavení raw režimu viz man termios tio.c_oflag |= OPOST; //zapnutí output processing tcsetattr(STDIN_FILENO, TCSANOW, &tio);
— Jan Faigl 2017/04/25 13:41
Dotazy / připomínky z přednášky
C: Při přepnutí terminálu do raw režimu příkazem stty raw stále dochází k tisku stisknuté klávesy
stty raw
Pokud tomu tak je (např. v Linuxu), je nutné ještě vypnout echo například stty -noecho příkaz pro nastavení termínálu tak může být
stty -noecho
stty raw -echo
stty -raw echo
— Jan Faigl 2017/06/04 17:50
Původní podklady pro obecný úvod do verzovacích systémů a to jak centralizovaných tak distribuovaných, s příkladem použití systémů RCS, SVN a Git.
Přednášku povede Ing. Daniel Fišer a bude více zaměřena na použití verzovacího systému Git.