使用 arm-gcc 3.3.1 在 32 位 pic 上循环

for loop on 32bit pic with arm-gcc3.3.1

我将被低估而被遗忘但是: 这个问题: 被标记为不完整但不是。

用户指出了 gcc-arm-toochain3.3.1 下的一个重复错误的所有元素,并且在使用结构数组时在 32 位图片上更重复(该用户的所有问题都与那些相关)在一个结构中。

这个bug是图片考虑到structure结构中指针的继承作为单个变量名造成的。 当索引的最后一位不为 0 时,缓冲区溢出读取类型错误的值作为 max int 的倍数。

更改代码自:

structure1.structure2[i].var1 = blabla;

来自

structure2_ * ptr = NULL;
ptr = &structure1.structure2[i];
ptr->var1 = blabla;

将立即修复它(示例在 keil3.0 和 windows xp 下使用 arm-gcc-toolchain 3.3.1 重新创建并在图片上测试)

为什么我将此作为问题发布?

1) Post 处于等待状态,无法回答

2)我没有足够的声誉,所以我不能评论它。

3) 审查编辑的同行没有考虑将编辑作为 answer/comment

所以我的问题 - 它应该在 meta 中,但再次没有足够的声誉 - 是: 如果编辑是对上述问题的回答,为什么编辑审阅者不接受我对搁置问题的编辑?

投反对票!

编辑如果有人可以 link 这个线程到另一个问题,我将不胜感激。

我不确定这是否真的是一个答案,但建议对此进行编辑post,我的问题确实解决了我的问题。