/Ot标志(“喜欢快速代码”)和/O2标志(“最大化速度”)有什么区别?
/Os(与和同上/O1。)
/Ot标志(“喜欢快速代码”)和/O2标志(“最大化速度”)有什么区别?
/Os(与和同上/O1。)
/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 的链接。
马丁
请参阅 MSDN 上的/O1、/O2(最小化大小、最大化速度)文章。
它指出这/O2相当于:
/Og /Oi /Ot /Oy /Ob2 /Gs /GF /Gy
所以/O2启用了所有可以做的事情,/Ot还有更多。/O1vs.也是一样/Os,但这次是大小。
没有不同。/Ot是/O2优化的一部分。