风铃草2 发表于 2016-12-5 09:55:32

moyanming2013 发表于 2016-12-2 15:03
1.指针++后的具体“跨度”取决于该指针的数据类型,这就要求你的强制类型转换要“得体”。
即使人眼看的不 ...

虽然看不懂,但是觉得你说得有道理,看来我需要补一补转换得体这一块

斜阳__ 发表于 2016-12-5 10:12:26

MARK                              

hunhanhonglou 发表于 2018-6-3 10:57:37

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