我将被遗忘,但是: 这个问题: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)审查编辑的同行没有考虑将编辑推送为 答案/注释所以我的问题 - 它应该是元,但再次没有足够的声誉 - 是: 如果编辑是所述问题的答案,为什么编辑审阅者不接受我对待处理问题的编辑?
向下倾斜!
如果有人可以将此主题链接到另一个问题,我会很感激。
答案 0 :(得分:0)
我不确定这是否真的是一个答案,但建议编辑与此帖相关,我的问题确实解决了我的问题。