|
struct {
unsigned char v1 : 1;
unsigned char v2 : 1;
} boolvars;if ( boolvars.v1 )
boolvars.v2 = 1;
Это нормально работает под любым С-компилятором.
Кстати, кусок из реального кода для 90s4433:
typedef struct exp_state__ {
u08 step:4; // текущий канал АЦП
u08 conv_err:1,
fine_used:1,
integrate:1,
cycle_passed:1;} expstate;
extern expstate state;
.......
if( (usedchan = state.step) == 5 ) {
state.step=0;
state.cycle_passed=1;
} else {
state.step=usedchan+1;
}
E-mail: info@telesys.ru