C# VS 2019在发布模式下优化代码是否已损坏?
对我来说,它看起来很奇怪,就像一只虫子。C# VS 2019在发布模式下优化代码是否已损坏?,c#,visual-studio-2019,C#,Visual Studio 2019,对我来说,它看起来很奇怪,就像一只虫子。 Visual Studio 2019中处于发布模式的代码提供了无限循环 class Program { private static int _a; static void Main(string[] args) { _a = 1; while (_a == 1) { Console.WriteLine(_a); _a = 0;
Visual Studio 2019中处于发布模式的代码提供了无限循环
class Program
{
private static int _a;
static void Main(string[] args)
{
_a = 1;
while (_a == 1)
{
Console.WriteLine(_a);
_a = 0;
}
}
}
volatile
或Thread.MemoryBarrier()代码>(在\u a=0;
之后)解决了该问题。不要认为我对VS2015有这样的问题。这是正确的行为吗?具体优化了哪个部分?感谢您报告此问题
它的修复正在进行中,很快就会提供。哪个.NET Framework或.NET Core SDK版本?当.NET内核出现在哪个平台上?我可以复制这个。它看起来确实像一个bug——这里没有多线程,所以不必使用Volatile或类似的东西!(使用x64、.NET4.8、VisualStudio2019版本16.2.3、发布版本复制)这一定要报告给微软。这是对一个非常严重错误的简单复制。我已经向微软报告了这个错误,并将错误报告链接回这个线程。看(这似乎是错误报告的正确位置!)这是评论吗?@maytham-ɐɥʇʎɐɯ这是代码库贡献者的回应;在这篇文章中隐含的是承认上面的报告确实是一个bug,而不是预期的行为