【发布时间】:2019-07-22 13:47:13
【问题描述】:
据我所知,“volatile”关键字用于防止编译器优化未使用的变量。我正在使用 STM32 板,我声明并初始化一个变量,如下所示;
volatile uint32_t errorCallbackCounter = 24 ;
永远不要再使用它。
调试时看不到这个变量。我正在用 STMStudio(实时变量观察器)检查它,当我想导入变量时,errorCallbackCounter 的地址被视为 0x0。
但是当我在任何地方使用它时,它就会变得可见。
所以 volatile 关键字没有发挥作用,或者 - 更有可能 - 我知道它有问题。
提前致谢。
【问题讨论】: