我正在研究一些要在Windows上加载的DLL。在调试模式下,一切正常。在发布模式下也可以使用,但是我已经发现一些在类初始化的情况下必须解决的问题。
我知道这是一个简单而基本的问题,但是因为我确实已经发现了一些问题,所以我并没有在发布模式上强加100%的选项A。
是真的吗,某种优化可以绕过Release模式上的A之类的变量初始化,所以最好总是像B一样,或者在我发现的情况下是否发生了其他错误? (不是这个,现在很难跟踪)
我正在使用MSVC ++ 14.16 _MSC_VER == 1916(Visual Studio 2017版本15.9)
A)
struct slista_meta
{
slista_meta(IBlock * bk);
bool rodando = false, parar = false;
}
B)
slista_meta::slista_meta(IBlock * bk)
{
rodando = parar = false;
}