首页 >后端开发 >C++ >如何在编译时检查 C 11 编译器支持?

如何在编译时检查 C 11 编译器支持?

Susan Sarandon
Susan Sarandon原创
2024-12-06 12:19:12443浏览

How Can I Check for C  11 Compiler Support at Compile Time?

编译期间检测 C 11 支持

问题:

如何在编译时确定编译器是否支持C 11 的具体特点标准?

答案:

一种可靠的方法是使用 __cplusplus 常量,C 编译器应设置该常量以反映它们支持的标准版本。例如:

#if __cplusplus <= 199711L
  #error This library needs at least a C++11 compliant compiler
#endif

如果编译器的 C 版本小于或等于 199711L,此代码将生成错误,表明不支持 C 11。

但是,某些供应商在实现部分 C 11 支持后可能不会立即更新 __cplusplus。在这种情况下,仍然建议使用 Boost 的定义来精细检测特定的 C 11 功能。

以上是如何在编译时检查 C 11 编译器支持?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn