今天发现一个这样的写法,真骚
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;
离线
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;
你没有明白人家这么写的意义。
和你说的这个,我感觉是两码事儿。
离线
有个更骚的。
#define ;;
离线
#define mian main
#define MAIN main
#define MIAN main
骚操作
离线
有个更骚的。
#define ;;
你这编译报错啊
离线