Видимо сколько угодно штук по одному байту каждая. sizeof(bool) не может быть меньше 1, так как sizeof() штука целая. Используй лучше такое:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено ReAl 29 марта 2003 г. 17:35
В ответ на: Режим С++ это что ? А 1байт - в смысле только 8 bool переменных ? отправлено Lex. 29 марта 2003 г. 16:40


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