在Visual Studio 2008中有一个选项“优化代码”,可能对应于/ optimize选项。它从未启用,即使在“释放”模式下也不会启用。为什么我不应该使用/ optimize开关来编译我的C#代码?
为什么我不希望此选项始终处于启用状态?
在Visual Studio 2008中有一个选项“优化代码”,可能对应于/ optimize选项。它从未启用,即使在“释放”模式下也不会启用。为什么我不应该使用/ optimize开关来编译我的C#代码?
为什么我不希望此选项始终处于启用状态?
它对发布版本的默认设置(可能是您更改了发布版本的设置?)。关闭它以使调试更容易。对于发布代码,请将其打开。
C#3中的代码优化已经相当不错 - 它会执行许多巧妙的性能调整,这些调整在IL中比您预期的更多地改变您的代码。
有些混淆工具(以及一些其他IL工具,如ILMerge)有时可以通过优化来打破程序集。您使用的IL工具越多,您就越有可能通过优化获得严重问题。
另外@Brian Rasmussen已经说过(+1) - 你想要它关闭调试,在发布。
为了清楚起见,优化内联函数并消除了一些变量。在调试优化代码时,IDE不会像往常一样获得太多帮助,因为一些代码实际上不再存在。所以为了调试,关闭(默认)。
在像C++优化这样的语言中,有时(通常)会有需要考虑的严重副作用。据我所知,这不是或几乎不是C#的情况,所以从代码的正确性来看,如果您优化或不优化可能无关紧要。
嗯,一定会在不知不觉中把它关掉。将再次勾选:p – 2009-01-23 12:11:12