c++ - 检查 C++ 代码中设置的编译器标志

标签 c++ visual-c++

有没有办法检查运行 C++ 代码时编译器上设置了哪些标志?

具体来说,这段代码是在程序内使用 /fp:precise/fp:fast 编译的吗?

最佳答案

在 msvc 文档中,您可以使用预定义宏来执行此操作:https://learn.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=msvc-160

_M_FP_FAST 如果设置了/fp:fast 编译器选项,则定义为 1。否则,未定义。

_M_FP_PRECISE 如果设置了/fp:precise 编译器选项,则定义为 1。否则,未定义。

请注意,这些是特定于编译器的,因此不要指望它们可以在任何其他编译器上工作。

关于c++ - 检查 C++ 代码中设置的编译器标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67852966/

相关文章:

visual-c++ - 在 Visual C++ 中,内联静态变量是否跨模块唯一?

c++ - 错误C2664 : 'CSchemaString::CSchemaString(LPCTSTR)' : cannot convert parameter 1 from 'int' to 'LPCTSTR' [closed]

c++ - Visual Studio 2017 找不到 cl.exe

c++ - 如何获取包罗万象的异常消息

c++ - Visual C++ 9.0 (2008) 静态库 + Boost 库 = 大型 .lib 文件

c++ - 无法绘制棋盘角,因为 cvCvColor 方法中的断言失败

GCC 和 MSVC 中的 C++ utf-8 文字

C++ Win32 GetDC 和何时 ReleaseDC

c++ - Windows中的微秒计时器

c++ - 将 curl 结果中的字节组解释为其他数据类型的方法