为什么要用 “ __attribute__ ((__packed__)) ” 定义结构体
首先,解释下 “__attribute__ ((__packed__))” 是做什么的?我们知道,通常定义一个U32 ,CPU 期望 这个 U32 地址是 DW 对齐的, 这样对CPU访问 mem bus 比较友好。所以,当我们定义这样一个结构体:struct test{ char i, uint32 a}那么,编译器会默认在 i 和 ...