-1
man gcc (1)는 다음과 같이 말합니다 : -ffast-math 옵션은 전 처리기 매크로를 발생시킵니다. & F; FAST_MATH_ & lowbar; 정의 될 수 있습니다. 해당 매크로에 대한 추가 문서가 있습니까?gcc 전 처리기 매크로 __FAST_MATH__ 사용 방법은 무엇입니까?
나는
#define __FAST_MATH__ blabla
y = pow(x,a);
#undef __FAST_MATH__
같은 그 코드가 잘 단일 문까지 그레인 수학 최적화, 제어 할 수 있습니다 기대. 그들이 배치되는 곳
는하지만, 내 테스트는 다소에 관계없이,#define __FAST_MATH__
#define __FAST_MATH__ on
모두 무시됩니다 나타냅니다.
은 [편집] 그들은 "무시"
#include <math.h>
의미 전에 를 배치하는 경우에도 무시됩니다 : 측정 가능한 영향을주지 않습니다. -phast-math는 테스트 코드를 3 배로 가속시키는 반면,
'-ffast-math'를 사용하면'__FAST_MATH__'가 정의됩니다. 아마 거기에있는 모든 것이고 더 이상 효과가 없습니다. – melpomene
헤더 math.h에 어딘가에 #ifdef __FAST_MATH가 들어 있다고 생각 하나? 또한 필자는 여전히 컴파일러 내부의 어떤 것이 -phast-math와 다르게 동작한다고 생각합니다. –
답변은 http://stackoverflow.com/questions/7420665/what-does-gccs-ffast-math-actually-do에는 플래그가 실제로 무엇에 관한 많은 정보가 있습니다. –