C PRAGMA优化与构建标志



我不太了解Pragma的作用,我有一个问题。如果我使用-O2标志运行程序,并且代码中有#pragma optimize("O3"),它将使用O3或O2优化?

从MSVC的角度讲话,#pragma通常与编译器标志无关。从您声明 #pragma语句向后声明的角度,如果您使用on参数,则您的编译器将使用O3优化,例如此类#pragma optimize("O3",on)

如MS文档中所述...

优化的pragma必须出现在函数之外,并在看到Pragma之后定义的第一个函数。打开和关闭参数转向优化列表中指定的选项。

从https://msdn.microsoft.com/en-us/library/chh3fb0k.aspx

最新更新