检查 C++ 代码中设置的编译器标志
Check what compiler flag is set within C++ code
有没有办法检查在 运行 C++ 代码中编译器上设置了哪些标志?
具体来说,这段代码是在程序中用 /fp:precise
还是 /fp:fast
编译的?
在 msvc 文档中,您可以使用预定义的宏来执行此操作:https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=msvc-160
_M_FP_FAST 如果设置了 /fp:fast 编译器选项,则定义为 1。否则,未定义。
_M_FP_PRECISE 如果设置了 /fp:precise 编译器选项,则定义为 1。否则,未定义。
请注意,这些是特定于编译器的,因此不要期望它们适用于任何其他编译器。
有没有办法检查在 运行 C++ 代码中编译器上设置了哪些标志?
具体来说,这段代码是在程序中用 /fp:precise
还是 /fp:fast
编译的?
在 msvc 文档中,您可以使用预定义的宏来执行此操作:https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=msvc-160
_M_FP_FAST 如果设置了 /fp:fast 编译器选项,则定义为 1。否则,未定义。
_M_FP_PRECISE 如果设置了 /fp:precise 编译器选项,则定义为 1。否则,未定义。
请注意,这些是特定于编译器的,因此不要期望它们适用于任何其他编译器。