Jazyk C:
Informace pro studenty (letní semestr 2023/2024)


Informace, termíny:

POZOR: Zadání DU2 - viz dále.

FYI: Draft C23 (PDF) , GCC 13.1
+ Budou menší změny ve slajdech.


Před zkouškou čtěte odkaz "cílové znalosti"
Upozornění: Ke zkoušce je nutné mít identifikační průkaz a minimálně 2 listy čistého papíru A4


V IS je fórum pro komunikaci studentů


Poznámky: Programovat se naučíte nejlépe praxí - pište si krátké programy
Tip1: Jak zjistit předdefinovaná makra: echo|gcc -E -dM -
Tip2: Překlad s ladicími informacemi: gcc -g program.c
Tip3: Profiling: program perf (nebo gcc -pg program.c; ./a.out; gprof)
Tip4: #define MAKRO_PRIKAZ do{ prikazy... }while(0)
Tip5: Automatické generování závislostí pro make: gcc -MM *.c > dep
Tip6: Výpis po fázi preprocessing: gcc -E -P src.c
Tip7: Kontrola odkazů a indexování: gcc -fsanitize=address program.c
Tip8: Výpis zapnutých optimalizací: gcc -Q -O2 --help=optimizers
Tip9: Vypnutí ASLR: setarch `uname -m` -R ./program
TipA: Zabudování LD_LIBRARY_PATH=. do programu: gcc -Wl,-rpath,.
TipB: Převod do HTML: for i in *.c; do vim -c TOhtml -c wqa $i ; done
Doporučuji nahlédnutí do C FAQ (viz Texty)
Poznámky k licencím: Free software , Open source , Creative Commons , (SPDX License List)

Plán výuky:

Přednášky:

Domácí úkoly:

Inspirace: Nifty Assignments

Další informace:

TODO:

TODO: doplnit ( "undefined behaviour", kontrola přetečení, memset+free optimalizace, Arduino, atd.)
Bezpečnost: Spectre a podobné útoky?

Pro informaci:
Bjarne Stroustrup: výslovnost
floating point
soutěž
Proč číslovat od nuly
různá ABI: velikosti, zarovnání, předávání parametrů
*** on-line překladač,
* Linux x86 Program Start Up
struct packing,
API example: PCRE2 API,


Odkazy: moje stránka o programování v C a C++ a o programování obecně


Poslední modifikace: 28. March 2024
Připomínky k obsahu stránky posílejte na e-mail: peringer AT fit.vutbr.cz