用arm-gcc3.3.1在32bit pic上进行循环

时间:2017-04-21 13:38:22

标签: c gcc arm c99

我将被遗忘,但是: 这个问题:https://stackoverflow.com/questions/43510049/c99-for-loop-looses-static-variable-values被标记为不完整但不是。

用户指出了gcc-arm-toochain3.3.1下的一个reccurent bug的所有元素,甚至更多关于32位pics的问题(来自这个用户的所有问题都与这些相关),当处理一个结构中的数组时结构

这个错误是由pic创建的,考虑到结构结构中指针的连续作为单个变量名称。 当索引的最后一位不为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重新创建并在pic上测试)

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

1)帖子暂停,因此我无法回答。

2)我没有足够的声誉因此我无法发表评论。

3)审查编辑的同行没有考虑将编辑推送为 答案/注释

所以我的问题 - 它应该是元,但再次没有足够的声誉 - 是: 如果编辑是所述问题的答案,为什么编辑审阅者不接受我对待处理问题的编辑?

向下倾斜!

如果有人可以将此主题链接到另一个问题,我会很感激。

1 个答案:

答案 0 :(得分:0)

我不确定这是否真的是一个答案,但建议编辑与此帖相关,我的问题确实解决了我的问题。