Kde autor bere přesvědčení, že int, short a char mají 32, 16 a 8 bitů? Seriál nesleduji, takže je možné, že někde na začátku je takové prohlášení nebo alespoň něco ve stylu GCC na i386. Jen mi přijde z hlediska výuky a taky přenositelnosti lepší použít typy, které svoje velikosti garantují. Zrovna v případě packed struktur to má významný význam. Navíc by odpadly komentáře typu 16b příznak, pokud se využívají všechny bity typu.
Vlákno názorů k článku
Programujeme OS: jak na GDT a IDT
Re: Velikost typů
Psal jsem o tom hned v prvním článku. To že píšu v komentářích kolik má jednotlivá proměnná bitů je jen kvůli přehlednosti, když to člověk vidí 2×, lépe si to navíc zapamatuje.
Re: Velikost typů
kvôli prehľadnosti používam s32int, u32int, s16int …
Re: Velikost typů
Standardní názvy jsou int32_t, uint32_t a int16_t ap. Viz ISO C99: 7.18 Integer types <stdint.h>
Re: Velikost typů
> z hlediska […] přenositelnosti
To jsem nějak nepochopil. Vždyť celá ta struktura má smysl jenom na i386, tak kam by to kdo chtěl přenášet? Jo, jako, že to může kompilovat GCC, ICC nebo MSVC? Ale vždyť tam všude je char 8 bitů, short 16 bitů a int i long 32 bitů…
Ale jo, asi měl použít assembler (ať už se syntaxí Intel nebo AT&T). Operační systém úplně bez assembleru beztak napsat nejde.

