1、在windows系统用QT平台拆包uint8_t数组,没有出现字节对齐问题
该方法把数据类型类比结构体,强制把uint8_t *指针转成uint32_t *,再用*得到32位数据,此过程需要考虑大小端模式,此处不做讨论。
2、在某M0+平台,也用类似方法分包数组
此时由于平台不一样,存在字节对齐的问题,字节不对齐访问,就会出现错误,如下:
此处的buffer、circle_1pro都为uint8_t类型数组,数组在用强制转换时,均存在非法访问的错误,比如
1、在windows系统用QT平台拆包uint8_t数组,没有出现字节对齐问题
该方法把数据类型类比结构体,强制把uint8_t *指针转成uint32_t *,再用*得到32位数据,此过程需要考虑大小端模式,此处不做讨论。
2、在某M0+平台,也用类似方法分包数组
此时由于平台不一样,存在字节对齐的问题,字节不对齐访问,就会出现错误,如下:
此处的buffer、circle_1pro都为uint8_t类型数组,数组在用强制转换时,均存在非法访问的错误,比如