编译器在优化发布版本时做得很好,但有时关闭本地函数的优化(而不是整个项目)是有用的,可以通过不选中 Project Options > Optimize code
来实现。
在 C++ 中,可以使用以下方法实现(其中 #pragma
通常被注释掉):
#pragma optimize( "", off )
// Some code such as a function (but not the whole project)
#pragma optimize( "", on )
在C#中有相应的等效方法吗?
更新
一些很好的答案建议使用MethodImplOptions.NoOptimization
装饰该方法。这在.NET 3.5中已实现,但未在紧凑框架(CF)版本中实现。一个相关的后续问题是是否有类似于以下情况的等效方法:
- 针对 .NET 3.0 或更早版本的项目?
- 针对部署到设备(如使用 .NET 3.5 CF 的 Windows CE 6.0)的项目?
.NET 3.5
中添加了MethodImplOptions.NoOptimization
枚举。你知道3.0
或更早版本是否有相当的选项吗? - AlainDNoOptimization
标志是可用的(并且该项目可以编译),但内置帮助和MSDN在线都没有提及该标志的可用性。MSDN上的错误吗?可能非可移植版本只有CF才能使用? - AlainD