Всем привет.
Я столкнулся со следующей проблемой.
Есть структура:
#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
![](/Forum/Images/xz.gif)
.
Заранее всем спасибо.