- 博客(1)
- 收藏
- 关注
原创 Gccarmnoneeabi 10.3.1做出了我意想不到的行为
但是我在后面调用了sht2x_sensor.begin函数并将SHT20_Wire的地址传进去,按我的想法来说,编译器应该假设这个类中存在私有变量和这个地址相关联,如此则不应该把这个地址优化掉,而是应该把他保存起来,使之后的函数调用是正常的,但事实却不是这样。还是说这是被写在gcc文档中的优化点吗?我不是很懂汇编,但是这两段汇编代码似乎表明,当我不加上static关键字的时候,SHT20_Wire的地址没有被存入栈中,致使这个地址存放的值在之后的进程中被修改,造成了系统错误。
2023-08-17 06:27:09
173
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人