C++Builder 2007, Объединение и битовые поля
Размер этого объединения возвращает 16 байтов (в C++Builder 2007).
typedef union
{
struct
{
unsigned Type:2;
unsigned Prev:31;
unsigned Next:31;
unsigned SizeInBytes:32;
};
} eMyUnion;
Как я должен изменить это определение объединения, если я хочу sizeof(eMyUnion) = 12 байт?
(Я хочу сохранить эти поля и их размеры, но они могут быть переупорядочены).
Это возможно?
1 ответ
#pragma pack(push, 1)
struct
{
unsigned Type:2;
unsigned Prev:31;
unsigned Next:31;
unsigned SizeInBytes:32;
};
#pragma pack(pop)