我可以在调试模式下优化某些代码片段作为发布吗?

时间:2009-05-29 01:47:08

标签: visual-c++

我使用的是MSVC ++ 2005 x64。 某些代码在发布优化模式下工作不正常。 所以,我想对该代码进行测试。 问题是,我的测试代码只在调试模式下运行。 (我不想在产品代码中混合测试代码。)

那么,我可以在调试版本中声明一部分代码作为发布优化模式进行编译吗? 例如,像__asm ......或者其他什么...... __build_start(释放) int x = 0; .. 做一点事 .. __build_end(释放)

提前致谢。

3 个答案:

答案 0 :(得分:1)

如果有帮助,您可以在文件级别执行此操作。右键单击解决方案资源管理器中的文件 - >属性 - > c ++ - >优化,然后设置该文件的优化级别。

答案 1 :(得分:0)

Visual Studio中的“发布优化”并不像您想象的那么简单。这是VS优化选项的(可能不完整)列表。它们中有很多,所以希望你能在这里找到你想要的那些。

http://www-01.ibm.com/support/docview.wss?us=993&uid=swg21265414

答案 2 :(得分:0)

我的第一个嫌疑人不是优化器,而是带副作用的调试。注意以下事项:


assert( ++i ); // assertions with actions
print_debug( "foo = %d", get_foo()); // function calls that are compiled out
#if _DEBUG
#   speed += 10; // kludges
#else
#   speed += 1000;
#endif