任何人都可以将我链接到一个示例,该示例如何使用#pragmaoptimize(“ some_values_for_02”,on)来模仿某些函数的全局02优化。
我在msdn文档和SO中四处查看,这是迄今为止最好的ive: In VC++ what is the #pragma equivalent of /O2 compiler option (optimize for speed)
该答案的链接不再有效。
语法是什么样的?我是否需要使用多个#pragmas来模拟02优化?链接的答案提到尝试添加#pragma intrinsic
和#pragma auto_inline
如果您可以指出我的原始资料,那么我可以作为一个示例进行阅读,该例子也可以使用。
谢谢
答案 0 :(得分:1)
myChart
== my_chart
。逐步:
/O2
:Global Optimizations:
/ Og已过时。现在通常默认情况下启用这些优化
〜> 不在乎。无论如何:
您可以结合使用优化编译指示和g选项启用或禁用全局优化。
/Og /Oi /Ot /Oy /Ob2 /GF /Gy
/Og
:intrinsic
#pragma optimize("g", on)
/Oi
:optimize
#pragma intrinsic(_disable, _outp, fabs, strcmp, _enable, _outpw, labs, strcpy,
_inp, _rotl, memcmp, strlen, _inpw, _rotr, memcpy, _lrotl,
_strset, memset, _lrotr, abs, strcat)
/Ot
:optimize
#pragma optimize("t", on)
/Oy
Inline Function Expansion:
编译器将内联扩展选项和关键字视为建议。不能保证任何功能都可以内联扩展。您可以禁用内联扩展,但是即使使用__forceinline关键字,也不能强制编译器内联特定功能。
〜> 不在乎。
#pragma optimize("y", on)
不知道。
/Ob2
不知道。
最终结果:
/GF
最后一件事:为什么?