OT moze sa v C zapisat viacero bitfieldov jednym vrzom?

Lukáš Grepl L.Grepl@sh.cvut.cz
Středa Únor 10 17:03:59 CET 2010


> Moze sa zapisat viacero bitfieldov v jednom structe takto: struct
> blabla { unsigned int a, b : 1; };

Tohle bude znamenat, že a je uint a b je jeden unsigned bit.

> alebo ich treba rozpisovat do osobitnych riadkov: struct blabla { 
> unsigned int a : 1; unsigned int b : 2: }; ?

Tohle jde určitě a jinak běžně používám:

struct s {
     unsigned
         b0: 1,
         b1: 1,
         : 5,
         b7: 1;
    unsigned
         c: 4,
         d: 4;
}

Ono je pak i graficky zřejmé co k čemu (do kterého byte) patří.

> Nejako neviem najst v C99 kapitolu ktora by to zakazovala resp.
> potvrdzovala.

Podle normy taky nevím, výše uvedené používám v praxi - PICC, avrgcc.

Lukáš Grepl


More information about the Hw-list mailing list