Visual studio C++;Visual Studio 2017版本15.9.4中的优化器错误?
查看浮点局部变量的不稳定行为,并尝试调试它。最后尝试在VC++ 2017 IDE中关闭C++优化,并解决了问题。p>Visual studio C++;Visual Studio 2017版本15.9.4中的优化器错误?,visual-studio,visual-c++,Visual Studio,Visual C++,查看浮点局部变量的不稳定行为,并尝试调试它。最后尝试在VC++ 2017 IDE中关闭C++优化,并解决了问题。p> 那么,关于VC++2107中已知的优化器错误有什么新闻吗?我使用的是版本15.9.4,这些是x64版本。请提供可复制的示例。也许你依赖于当前的浮点模式,或者陷入了未定义的行为。很难给出一个例子(我可能应该做必要的工作,但现在我没有时间,但这里有一个我看到的行为的伪代码示例:double foo=0.8763;DoMyRoutine(bar,“test”,3.4);Print(fo
那么,关于VC++2107中已知的优化器错误有什么新闻吗?我使用的是版本15.9.4,这些是x64版本。请提供可复制的示例。也许你依赖于当前的浮点模式,或者陷入了未定义的行为。很难给出一个例子(我可能应该做必要的工作,但现在我没有时间,但这里有一个我看到的行为的伪代码示例:double foo=0.8763;DoMyRoutine(bar,“test”,3.4);Print(foo);打印出来的值是-0.0005——请注意,在设置foo和打印它之间发生的一切都是对一个例程的调用,而这个例程甚至没有foo传递给它……自从切换到15.9之后,我遇到了一个类似的问题。我发现了这个链接:从开发团队的第一个回复到最近的一个注释之间的时间不到一年ill未解决。即使是15.9.19似乎也有这个错误!我只能通过安装和使用旧的VC工具集14.11来解决这个问题,如下所述:请提供可复制的示例。可能您依赖于当前的浮点模式,或者进入未定义的行为。很难给出示例(我可能应该做必要的工作——但现在我没有时间——但这里有一个我看到的行为的伪代码示例:double foo=0.8763;DoMyRoutine(bar,“test”,3.4);Print(foo);打印出来的值是-0.0005——请注意,在设置foo和打印它之间发生的一切都是对一个例程的调用,而这个例程甚至没有foo传递给它……自从切换到15.9之后,我遇到了一个类似的问题。我发现了这个链接:从开发团队的第一个回复到最近的一个注释之间的时间不到一年我无法解决。即使是15.9.19也似乎有这个错误!我只能通过安装和使用旧的VC工具集14.11来解决这个问题,如下所述: