能否在Godbolt中控制.NET编译器的优化开关?
.NET 版本间优化行为差异及Debug模式优化疑问
我照着微软文档尝试使用-optimize参数、Optimize选项等多种方法,但未看到预期效果。.NET(main分支)版本似乎始终会执行优化,而.NET 7.0.105版本则不会(示例如下)。不过它会移除来自不同源函数的强制内联重复代码(与手动优化版本对比),这让我产生疑问:这类优化在Debug模式下也会执行吗?
static int Test(int a) { a = a+2; a = a+2; return a; }
.NET(main)编译结果
MyClass:Test(int):int (FullOpts): lea eax, [rdi+0x04] ret
.NET 7.0.105编译结果
MyClass:Test(int):int: add edi, 2 add edi, 2 mov eax, edi ret
内容的提问来源于stack exchange,提问作者Selmar
相关产品推荐
相关产品推荐

