问题:
如何在编译时确定编译器是否支持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中文网其他相关文章!