-1
man gcc(1)表示:选项-ffast-math会导致预处理器宏_> FAST_MATH__被定义为。该宏是否还有其他文档?如何使用gcc预处理器宏__FAST_MATH__?
我希望像
#define __FAST_MATH__ blabla
y = pow(x,a);
#undef __FAST_MATH__
代码允许数学优化,细粒降至个语句的控制权。
但是,我的测试,而表示
#define __FAST_MATH__
#define __FAST_MATH__ on
都被忽略,无论在那里它们被放置。
[编辑]他们将被忽略,即使它们被放置之前
#include <math.h>
“忽略” 的意思是:有没有可测量的效果。而 - 数学加速我的测试代码的3倍。
如果使用'-fast-math',则定义'__FAST_MATH__'。这可能就是它的全部,它没有进一步的效果。 – melpomene
我想,头math.h包含一些#ifdef __FAST_MATH某处?另外,我仍然认为编译器内部的某些东西与-ffast-math有不同的表现。 –
答案http://stackoverflow.com/questions/7420665/what-does-gccs-ffast-math-actually-do有很多关于旗子实际上做了什么的信息。 –