最近做的一个东东要移植到其它平台,一个发送端和一个接收端允许在不同的平台,编译器自然也不一样,所以struct对齐直接影响程序的正确允许。

默认vc的struct是8byte对齐:
如果有这样的代码

struct A

{
   something...
}

struct b

{

 A  a;   

      //因为对齐的原因,这里可能有空隙
something...

}

然后将struct b转化为char*的时候就出现问题了,解决的办法设置为1BYTE对齐