最近做的一個(gè)東東要移植到其它平臺(tái),一個(gè)發(fā)送端和一個(gè)接收端允許在不同的平臺(tái),編譯器自然也不一樣,所以struct對(duì)齊直接影響程序的正確允許。

默認(rèn)vc的struct是8byte對(duì)齊:
如果有這樣的代碼

struct A

{
???something...
}

struct b

{

?A? a;???

??????//因?yàn)閷?duì)齊的原因,這里可能有空隙
something...

}

然后將struct b轉(zhuǎn)化為char*的時(shí)候就出現(xiàn)問(wèn)題了,解決的辦法設(shè)置為1BYTE對(duì)齊