выравнивание битовых полей в структуре
От: Alirp Россия  
Дата: 04.05.08 04:54
Оценка:
Всем привет.
Я столкнулся со следующей проблемой.
Есть структура:

#pragma pack( push, 1 )

struct _mass_1 {
unsigned char data1 :6;
unsigned char data2 :2;
unsigned char data3 :5;
unsigned char data4 :3;
unsigned char data5 :5;
unsigned char data6 :5;
unsigned char data7 :5;
unsigned char data8 :1;
};

#pragma pack( pop )

При вызове sizeof (_mass_1); возвращается 5, хотя должно быть 4.

До этого писал под Linux:
#pragma pack( 1 )
та же структура
#pragma pack( )

sizeof возвращает 4, как и должно быть.
Подскажите пожалуйста если кто знает, как сделать выравнивание битовых полей структуры в Windows в данном случае,
программа написана в C++Builder 6 .

Заранее всем спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.