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 байт?
(Я хочу сохранить эти поля и их размеры, но они могут быть переупорядочены).
Это возможно ?

0

Решение

#pragma pack(push, 1)
struct
{
unsigned Type:2;
unsigned Prev:31;
unsigned Next:31;
unsigned SizeInBytes:32;
};
#pragma pack(pop)
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]