看到楼主 和 moyanming2013的回复蛮有感触上来发个言.
昨晚出现的这个问题,类似楼主,不过我注意到可能通过指针读写结构体会出现一些问题,为了协议组包方便,我们结构体定义的时候全部都使用
#pragma pack (1)
声明结构体
#pragma pack()
禁止keil编译器的字节对齐.
但是还是出现了问题,一个指针很明显是指向的结构体那块存储空间了,但是一旦向指针指向的空间写入数据就会进入硬件故障中断.
我的认识,如果禁止字节对齐,那么存储空间都是以个字节为单位,我用指针指向结构体的内存空间,然后写入数据,多么天经地义,这不就是指针的魅力所在.....可是不知道为什么报错了,有点颠覆认知.如果像楼上那位老师说的可能换芯片同样的写法就会不能使用,那对我来说可能是个灾难了...
看到楼主 和 moyanming2013的回复蛮有感触上来发个言.
昨晚出现的这个问题,类似楼主,不过我注意到可能通过指针读写结构体会出现一些问题,为了协议组包方便,我们结构体定义的时候全部都使用
#pragma pack (1)
声明结构体
#pragma pack()
禁止keil编译器的字节对齐.
但是还是出现了问题,一个指针很明显是指向的结构体那块存储空间了,但是一旦向指针指向的空间写入数据就会进入硬件故障中断.
我的认识,如果禁止字节对齐,那么存储空间都是以个字节为单位,我用指针指向结构体的内存空间,然后写入数据,多么天经地义,这不就是指针的魅力所在.....可是不知道为什么报错了,有点颠覆认知.如果像楼上那位老师说的可能换芯片同样的写法就会不能使用,那对我来说可能是个灾难了...
举报