编译器可以在多线程程序上下文中优化静态存储对象吗?例如,我要求它知道声明为静态的变量在用于线程中调用的函数时是否会产生副作用。
bool flag = false; // static storage duration object
void f(){ //function called in a thread
flag = false;
// do some work...
flag = true;
}
//a possible representation of the code above after optimization
void f(){
flag = true;
// do some work...
} // is this possible to happen?
我从这里阅读了一些答案,但我没有找到任何可以帮助的东西。