我不太了解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