OT moze sa v C zapisat viacero bitfieldov jednym vrzom?
Jan Waclawek
konfera@efton.sk
Středa Únor 10 19:32:43 CET 2010
Ale ano, ja viem ze som blbec ;-)
Uz je to vyriesene - ako pan kolega Grepl pisal v http://list.hw.cz/pipermail/hw-list/2010-February/370982.html : zapisat sa to da, prelozit to prelozi, ale tak, ze blabla.a je plnych 8/16 bitov (podla toho aky rodicovsky typ sa zvoli); co asi nie je to co autor zamyslal.
A tiez existuje zapis ako to zapisat len s jednym zapisom rodicovskeho typu: treba tu dvojbodku a pocet bitov dat ku kazdemu identifikatoru.
Mne je jasne ze je to zla prax.
Proste som sa z nejakych dovodov rozhodol to tak pouzit, a popalil som sa.
Ale som sa aspon nieco naucil, nie? ;-)
wek
----- Original Message ---------------
>
>Ja bych rekl ze ne.
> unsigned int a, b : 6;
>je to zdroj chyb. Za pul roku si vzpomenete ze potrebuje pamet. Podivate se do programu a ejhle "b" staci dva bity:
> unsigned int a, b : 2;
>Ale co to "a"? A je pruser a clovek ladi a ladi a pak si po 14 dnech trha vlasy na hlave az na to prijde.
>
>Spravne to ma byt:
> unsigned int a:6;
> unsigned int b:6;
>
>Jeden krok jeden radek. Nesnazit se zbytecne "kompresovat" zdrojovy kod, vysledny program se tim nezkrati. Jen clovek bude z toho pekne zmateny. (Napriklad a = b*c+(d>>2)&x+y-a+b)
More information about the Hw-list
mailing list