今天发现一个这样的写法,真骚
typedef uint32_t uint64_t[2];
离线
union它不香吗
用匿名union可以用多种方式访问同一地址,形式也很简洁。像USB Request就很适合用这种表达方式。typedef __packed struct _REQUEST_TYPE { U8 Recipient : 5; /* D4..0: Recipient */ U8 Type : 2; /* D6..5: Type */ U8 Dir : 1; /* D7: Data Phase Txsfer Direction */ } REQUEST_TYPE; typedef __packed struct _USB_SETUP_PACKET { REQUEST_TYPE bmRequestType; /* bmRequestType */ U8 bRequest; /* bRequest */ __packed union { U16 wValue; /* wValue */ __packed struct { U8 wValueL; U8 wValueH; }; }; __packed union { U16 wIndex; /* wIndex */ __packed struct { U8 wIndexL; U8 wIndexH; }; }; U16 wLength; /* wLength */ } USB_SETUP_PACKET;
你没有明白人家这么写的意义。
和你说的这个,我感觉是两码事儿。
离线