C 程序员通常需要确定其编译器是否支持 C 11 的特定功能,以确保与其代码的兼容性。以下是实现此目的的方法:
某些编译器提供名为 __cplusplus 的常量,它指示支持的 C 标准版本。以下示例检查 C 11 支持:
#if __cplusplus <= 199711L #error This library needs at least a C++11 compliant compiler #endif
另一个选项是使用 Boost 库中的宏,它提供了特定 C 11 功能的定义,例如如:
#ifndef BOOST_CXX11_VARIADIC_MACROS #error "Your compiler doesn't support variadic templates." #else template <typename... DatatypeList> class Tuple { // ... } #endif
以上是如何在编译过程中检查 C 11 支持?的详细内容。更多信息请关注PHP中文网其他相关文章!