TPM - Trusted Platform Modul

Verify boot

Measured boot

https://github.com/petrs/TPM_PCR

Rekurze

Ladění rekurzivní funkcí

Využití knihoven

  1. Kód z knihovny je přímo zahrnut do kódu aplikace
    • nevyžaduje jiné soubory ke spuštění
    • duplicitní kód
  2. přeložený kód knihovny je v samostatném soubory, aplikace jen volá funkce
    • knihovna se nahrává implicitně při spuštění programu
    • knihovna se nahrává explicitně v kódu

Proces linkování

Jakou knihovnu vybrat?

Licence

Standardní knihovna C99

<limits.h> konstanty limitů datových typů

<ctype.h> - zjištění typu znaku

<string.h> - funkce pro práci s pamětí

<time.h> - práv s časem

Měření času operace

<stdlib.h>

Řadící a vyhledávací funkce

<math.h> - matematické funkce

ISO/IEC 9899:2011 (C11)

Vlákna

Atomičnost operací a paměti

Typově proměnná makra

#define FOO(X) myfoo(X)

#define FOO(X)
	_Generic((X), long: fool, char: fooc, default foo) (X)

Vylepšená podpora UTF-16

Bezpečné varianty některých funkcí

Makro pro zjištění verze std C