7

/Ot标志(“喜欢快速代码”)和/O2标志(“最大化速度”)有什么区别?

/Os(与和同上/O1。)

4

3 回答 3

9

/O1 和 /O2 将多个选项捆绑在一起,旨在实现更大的目标。因此 /O1 做出了许多有利于大小的代码生成选择;/O2 做同样的事情并且有利于速度。

/O1 包括 /Os 以及其他选项。/O2 包括 /Ot 以及其他选项。/O1 和 /O2 都启用了一些优化。而且,根据程序的分页行为,/O1(大小)可能会导致比 /O2 更快的速度,如果分页代码在指令执行成本上支配您的性能。

VC++ 2010 中 /O1 和 /O2 影响的简短总结在这里

http://msdn.microsoft.com/en-us/library/8f8h5cxt.aspx

并包括其他版本 VC 的链接。

马丁

于 2011-05-15T08:47:51.123 回答
2

请参阅 MSDN 上的/O1、/O2(最小化大小、最大化速度)文章。

它指出这/O2相当于:

/Og /Oi /Ot /Oy /Ob2 /Gs /GF /Gy

所以/O2启用了所有可以做的事情,/Ot还有更多。/O1vs.也是一样/Os,但这次是大小。

于 2011-05-15T08:47:46.193 回答
0

没有不同。/Ot/O2优化的一部分。

http://msdn.microsoft.com/en-us/library/f9534wye.aspx

于 2011-05-15T08:47:37.887 回答