zahada delky struktury GCC

Jan Waclawek konfera na efton.sk
Pondělí Březen 11 20:46:28 CET 2024


errata:
...double vnuti alignment 8 pre kazdy prvok _struct_...

tiez tam platia tie zahadne pravidla propagacie alignmentu, podobne ako s
tym packed.

wek


----- Original Message ---------------
[...]
>
>Dovod je, ze ten double vnuti alignment 8 pre kazdy prvok pola, t.j. sa
>bude kazdy prvok zarovnavat na ofset delitelny bezo zvysku 8. 1020 taky
>nie je, takze za ten union sa pridaju 4 padding byty aby crc32 vyslo na
>offset 1024, no a on sam ma 4 byty a ze neho sa daju este dalsie 4 padding
>bity.
>
>Inaksie povedane, bez packingu to nevlozite s double tak, aby bolo to crc32
>na poslednych 4 bytoch. Da sa ba[] urobit dlhy 1016, a to crc proste bude
>8 bytov od konca, t.j. to bude binarne nekompatibilne s tou verziou bez
>double. 
>
>Ale inak je to takmer jedno, lebo aj tak su vsetky polia rozposuvane oproti
>tej verzii bez double presne kvoli tomu zarovnaniu na 8 byte.
>
>wek



Další informace o konferenci Hw-list