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)
Другие вопросы по тегам