当C++编译命令行中未提供/ Od,/ O1,/ O2,/ Ox时,VS2010 / 12的编译器是否使用默认优化级别?
我目前正在使用/ Od,因为在使用其他级别时我看到了一些与优化相关的错误。但是,这导致/ GS被禁用-这是不需要的。
当我清除“项目属性-> C / C++->优化->优化”选项的框时,我看到命令行确实不包含任何选项。但是我不知道这是否意味着编译器使用了一些默认的优化级别。
最佳答案
似乎没有优化是默认设置-请参见“cl /?”的输出下面:
-OPTIMIZATION-
/O1 minimize space /O2 maximize speed
/Ob<n> inline expansion (default n=0) /Od disable optimizations (default)
/Og enable global optimization /Oi[-] enable intrinsic functions
/Os favor code space /Ot favor code speed
/Ox maximum optimizations /Oy[-] enable frame pointer omission