C ++ 11检查特征(C++11 feature checking)

2019-06-23 18:13发布

如何检查单个的C ++ 0x / C ++语言11功能的存在? 我知道锵有一个很好的系统这一点。 什么GCC,Visual Studio或升压? 我想这样做是为了检测编译器的版本,并涉及,要在该版本引入的功能的一种方式。 但是,这很麻烦。 已经有人已经这样做了?

Answer 1:

升压配置配备了一个脚本来检查一些但不是所有的C ++ 11功能。

它会生成一个配置文件与宏每个功能。



Answer 2:

您构建工具也许能够帮助这个。

CMake的有try_compile命令,它可以让你测试的代码示例是否会编译并设置基于编译结果的变量。

目前,我刚刚被使用更普遍支持的功能,如auto打字。

你可以经常使用升压替换丢失的库功能,同时编译器和库的更新和错误修正,这可能是几年的最佳选择。

在C ++为GCC 11功能兼容性列表在这里: http://gcc.gnu.org/projects/cxx0x.html

注意警告信息:

重要提示:GCC对C ++ 11的支持仍处于试验阶段。 某些功能是基于早期的建议实施,并没有将尝试保持时候都更新,以匹配最终C ++ 11标准的后向兼容性。



文章来源: C++11 feature checking