> typedef struct { //32 bitu bool struktura
> BOOL bReady;
> BOOL bAuto;
> ...
> ...
> } TankStatus ;
>
> TankStatus Tank;
>
> long StatusDWORD;
>
> StatusDWORD=0xFD89;
Štai tas pats klasikinėmis priemonėmis be jokių # :
typedef union {
struct {
int bReady:1;
int bAuto:1;
.
:
} flags;
int raw;
} TankStatus;
..
:
Tank.raw=StatusDWORD;
if (Tank.flags.bReady)
.
:
Užtat bus non-portable tarp "big endian" ir "little endian" architektūrų ir
panašiaias atvejais. Jei kartais reikėtų tvarkyti, su #ifdef pakanka aprašyti
kitą TankStatus.flags versiją, kur bitai pateikti reikiama tvarka.
--
saimhe