我用匿名结构和 uninon 写了一个结构:
字节是typedef unsigned char byte
struct dns_flags
{
union
{
struct
{
byte QR : 1;
byte opCode : 4;
byte AA : 1;
byte TC : 1;
byte RD : 1;
byte RA : 1;
byte zero : 3;
byte rcode : 4;
};
uint16_t flagsValue;
};
};
代表 DNS 协议标志。
我用过#pragma pack(push,1)
,而sizeof(dns_flags) == 2
当flagsValue == 0x8180
;然后rcode = 8
。所以我想知道结构在内存中的布局:rcode
半字节是更高的?!这没有任何意义......使用VS2012
盖伊