50分请高手解答:字节对齐的介绍
比如编译器的字节对齐选项介绍,
不对齐造成的问题等等
比如:
#define u8 unsigned char
#define u16 unsigned short
u8 u8One;
u16 u16Two;
struct mystruct
{
u8 m_u8AttribA;
u8 m_u8AttribB;
u8 m_u8AttribC;
u16 m_u8AttriA;
u8 m_u8AttribD;
}aStruct;
u8 u8Three;
请问这个结构的首地址变量与前后变量有否关系,会否由于编译器对齐参数而奇偶不同?
该结构改成如下的好处是否在用u8或u16指针访问时有影响?直接用成员名访问是否没影响?
struct mystruct
{
u8 m_u8AttribA;
u8 m_u8AttribB;
u8 m_u8AttribC;
u8 m_u8AttribD;//Move from behind u16
u16 m_u8AttriA;
}aStruct;