0

此联合的大小返回 16 个字节(在 C++Builder 2007 中)。

typedef union
{
  struct
  {
    unsigned Type:2; 
    unsigned Prev:31;
    unsigned Next:31;
    unsigned SizeInBytes:32;
  };
} eMyUnion;

如果我想要 sizeof(eMyUnion) = 12 字节,我必须如何修改这个联合定义?
(我想保留这些字段及其大小,但可以重新排序)。
有可能的 ?

4

1 回答 1

1
#pragma pack(push, 1)
  struct
  {
    unsigned Type:2; 
    unsigned Prev:31;
    unsigned Next:31;
    unsigned SizeInBytes:32;
  };
#pragma pack(pop)
于 2013-02-21T12:21:35.590 回答