在结构体中使用 attribute((packed)) 属性。
示例代码:
typedef struct __attribute__((__packed__)) { uint8_t a; uint16_t b; uint32_t c; } MyStruct;
在结构体定义中添加 attribute((packed)) 属性即可。该属性告诉编译器在编译该结构体时,不要增加任何填充字节以对齐结构体成员。这可以确保结构体的大小等于成员变量的总和,从而避免出现警告。
上一篇:armgcc/gdb中调试符号的差异。
下一篇:armgcc编译器的linux版本是否支持-cpu=cortex-m4?