我正在使用Visual Studio 2013附带的默认C++编译器(我想它叫做“Visual Studio C++编译器”),标志为/Ox
(Full Optimization)。由于浮点副作用,我必须在使用gcc
编译器时禁用-ffast-math
标志。在Visual Studio C++编译器的配置中是否有与此标志等效的选项?是否存在与Visual Studio C++编译器等效的-ffast-math标志
回答
您正在寻找/fp:precise
,虽然这也是默认设置。
如果您需要VS可以提供的最严格的浮点计算,请尝试/fp:strict
,尽管这可能是矫枉过正。
您可能没有什么可担心的,因为默认行为应该是您的愿望。只要确保没有指定/fp:fast
,但是如果您尝试使用/fp:fast
和/fp:precise
进行编译,则无论如何都会收到编译错误,因此应该很容易理解。
Hans Passant提供给MSDN website的链接提供了您可能需要的所有详细信息。
没有一个MSVC++选项启用由g ++ -ffast-math
调用的优化。
你确定吗?那么'/ fp:'怎么样? – 2016-10-25 07:00:19
Microsoft/fp:fast不会调用这些优化。您可能会对英特尔C++使用冲突感到困惑,其中fast = 2的操作类似于g ++ -ffast-math(除了复杂的有限范围外,fast = 1会调用重要的操作)。 – tim18 2017-07-20 17:45:10
显然它可能不完全相同,但它确实指定了OP所要求的浮点操作行为**。他没有询问所有' - 数学'的副作用 – 2017-07-21 01:01:28
- 1. Visual Studio C++编译器标志:什么是-Zm200?
- 2. Objective-C编译器标志
- 3. Visual Studio C编译器中是否存在单独的bitset64内部函数?
- 4. 编译在Visual Studio(非.NET)“标准” C++
- 5. 编译C文件在Matlab与Visual Studio
- 6. 在Visual Studio中是否与Eclipse的“运行配置”等效?
- 7. 什么是“DNS_BLOCK_ASSERTIONS”(C编译器标志)?
- 8. 添加编译器标志为Visual Studio 2005的CMake 2.8.1
- 9. 当使用Microsoft的Visual C++编译器时,是否有与gcc等价的pedantic?
- 10. 编译器内是否有预编译IPV6的标志
- 11. Microsoft Visual C++ Express编译器是否编译C代码?
- 12. 是否存在Visual C++的编译器标志以检查对printf()的调用的类型安全性?
- 13. Visual Studio for C++使用的编译器?
- 14. Visual studio编译器标志/ arch和性能
- 15. 与Visual Studio编译C程序
- 16. 编译C++在Visual Studio在汇编
- 17. Visual Studio 2010 IDE与Visual C++ 6.0编译器?
- 18. Visual Studio是否不断编译?
- 19. C++ -malign-double编译器标志
- 20. Matlab不检测Visual Studio C++编译器
- 21. -MS系统Visual Studio C++编译器
- 22. C#等效于/ Gh标志
- 23. Microsoft Visual C++ Build Tools编译器与Eclipse
- 24. C#编译没有visual studio
- 25. C#编译Visual Studio程序
- 26. 是否有可以在Visual Studio 6上运行的反编译器C++
- 27. 如何在Visual Studio中设置编译标志/ bigobj?
- 28. 什么是-qnoweakexp xlC编译器标志的gcc等价物?
- 29. C#与Visual Studio集成的最佳(免费?)反编译器?
- 30. 是否存在与C#的'checked'关键字等效的Java?
http://msdn.microsoft.com/en-us/library/e7s85ffb.aspx – 2014-10-19 14:53:52
请注意,在gcc中禁用'-ffast-math'意味着不传递该选项,它更像是“不启用”。 – 2014-10-21 19:17:12