1:針對於結構體,聯合等的聲明階段
#pragma pack(4)
typedef struct
{
unsigned char aa;
unsigned char bb;
unsigned char cc;
unsigned char dd;
} cmdhead, *cmdheadp;
#pragma pack()
如上所示,在結構體等的聲明階段,可以在結構體前加入 #pragma pack(4)來說明一下的部分遵循4字節對齊,
最后使用 #pragma pack()將對齊方式恢復為默認方式;
2:針對於變量定義階段
TIM_OCInitTypeDef TIM_OCInitStructure __attribute__ ((aligned (4)));
如上所示,在內存中申請到的地址是以4字節對齊的。
