我使用的是Visual Studio 2013附带的默认C++编译器(我想它被称为"Visual Studio C++编译器"),带有标志/Ox
(完全优化)。由于浮点副作用,在使用gcc
编译器时,我必须禁用-ffast-math
标志。在Visual Studio C++编译器的配置中,是否有用于此标志的等效选项?
您正在寻找/fp:precise
,尽管这也是默认值。
如果您需要VS所能提供的最严格的浮点计算,请尝试/fp:strict
,尽管这可能有些过头了。
你可能没有什么可担心的,因为默认行为应该是你想要的。只需确保未指定/fp:fast
,但如果尝试同时使用/fp:fast
和/fp:precise
进行编译,则无论如何都会出现编译错误,因此应该很容易发现。
Hans Passant提供给MSDN网站的链接提供了您可能需要的所有详细信息。
MSVC++选项均不启用g++-ffast-math
调用的优化。