Visual Studio C+是否有一个-ffast math标志+;编译程序 我使用默认的C++编译器(我猜它是VisualStudioC++编译器),它带有VisualStudio 2013,带有标志 /ox()。由于浮点的副作用,在使用gcc编译器时,我必须禁用-ffast math标志。在VisualStudioC++编译器的配置中是否有一个等价的选项?< p>您正在寻找>FP:Engult,尽管这也是默认的。

Visual Studio C+是否有一个-ffast math标志+;编译程序 我使用默认的C++编译器(我猜它是VisualStudioC++编译器),它带有VisualStudio 2013,带有标志 /ox()。由于浮点的副作用,在使用gcc编译器时,我必须禁用-ffast math标志。在VisualStudioC++编译器的配置中是否有一个等价的选项?< p>您正在寻找>FP:Engult,尽管这也是默认的。,gcc,visual-studio-2013,compiler-optimization,fast-math,Gcc,Visual Studio 2013,Compiler Optimization,Fast Math,如果您需要VS能够提供的最严格的浮点计算,请尝试/fp:strict,尽管这可能有些过分 你可能没什么好担心的,因为默认行为应该是你想要的。只需确保未指定/fp:fast,但如果同时尝试使用/fp:fast和/fp:precise进行编译,无论如何都会出现编译错误,因此应该很容易捕获 Hans Passant提供给的链接提供了您可能需要的所有详细信息。没有一个MSVC++选项启用由g++-ffast math调用的优化。请注意,在gcc中禁用-ffast math意味着不传递该选项,这更像是“不

如果您需要VS能够提供的最严格的浮点计算,请尝试
/fp:strict
,尽管这可能有些过分

你可能没什么好担心的,因为默认行为应该是你想要的。只需确保未指定
/fp:fast
,但如果同时尝试使用
/fp:fast
/fp:precise
进行编译,无论如何都会出现编译错误,因此应该很容易捕获


Hans Passant提供给的链接提供了您可能需要的所有详细信息。

没有一个MSVC++选项启用由g++
-ffast math调用的优化。请注意,在gcc中禁用
-ffast math

意味着不传递该选项,这更像是“不启用”。您确定吗?那么
/fp:
?Microsoft/fp:fast不会调用这些优化。您可能会被英特尔C++使用中的冲突混淆,其中FAST=2的操作类似于G++-FASST数学(快速= 1调用重要的,除了复杂的有限范围)。显然,它可能不是完全相同的,但它确实指定了OP所要求的浮点操作行为。他没有询问GCC中
-O3
中是否包含
-ffast math
的所有
-ffast math
副作用?因为在我的项目()中,MSVC 2015生成的代码似乎比GCC 7.1快得多-O3不会影响数学。