我知道volatile关键字会阻止编译器优化变量,并在读取时从内存中读取它.除了内存映射寄存器之外,我们需要使用volatile的所有情况是什么?给定一个符合标准的编译器,我是否必须在两种情况下都将test_var声明为volatile?
int test_var=100;
void func1()
{
test_var++;
}
Run Code Online (Sandbox Code Playgroud)
extern int test_var;
void func2()
{
if(test_var==100)
{
....
}
}
Run Code Online (Sandbox Code Playgroud)
int test_var=100;
void func1()
{
}
Run Code Online (Sandbox Code Playgroud)
extern int test_var;
void func2()
{
if(test_var==100)
{
....
}
}
Run Code Online (Sandbox Code Playgroud)