最近移植TCPIP协议到LPC2292,在测试过程中发现有程序跑飞的问题,经查找原因发现在给一个指向不被四整除的地址的结构体指针第一个数据赋值时,说明下第一个数据也是一个结构体指针,系统自动将指针向前移到能被四整除的位置,从而使得被赋值的结构体指针出错,导致接下来给该结构体指针的一个数据赋值时出现了内存错误,本来指针指向0x800D034E,结果在赋值时却把地址数据放在了0x800D034C处,导致该地址数据取址错误,造成死机。描述的有点乱,希望有遇到过类似问题的帮忙指点一下,本人用的编译器ADS
改一下结构体的顺序,让它尽量地址对齐,这样应该行吧