如何检查单个C++ 0x/C++ 11语言功能的存在?我知道Clang有一个很好的系统。 GCC,Visual Studio或Boost呢?我想一种方法是检测编译器版本并将其与该版本中引入的功能相关联。但这很麻烦。有人已经做到了吗?C++ 11功能检查
回答
boost config附带脚本来检查一些但不是全部的C++ 11功能。
它为每个功能生成一个包含宏的配置文件。
我认为你的意思是在*之后写一些东西。无论如何,是的Boost.Config可能是最好的选择。 Boost家伙已经追踪到了这些信息,所以人们不必这样做:他们错误地编译器团队知道它何时足够稳定可以被广告,或者在Clang请求新的检查标志的情况下。 – 2012-04-19 10:28:35
其实这是一个草案答案剩下的。我将删除它。谢谢。 – mirk 2012-04-19 10:31:07
您的构建工具可以帮助解决这个问题。
CMake有try_compile
命令,它允许您测试代码示例是否将编译并根据编译结果设置变量。
目前我刚刚使用更常用的功能,如auto
打字。
您可以经常使用Boost替换缺失的库功能,这可能是在编译器和库更新并修复错误后几年的最佳选择。
对GCC的C++ 11功能兼容性列表在这里:http://gcc.gnu.org/projects/cxx0x.html
注意警告:
重要提示:GCC对C++ 11的支持仍处于试验阶段。某些功能是基于早期的建议实现的,当它们更新以匹配最终的C++ 11标准时,不会尝试保持向后兼容性。
- 1. Autotools检查C++ 11
- 2. C++ 11功能与MinGW
- 3. iOS 11 CoreNFC如何检查设备是否具有NFC功能?
- 4. 如何检查在C + + 11成功std :: regex_replace?
- 5. 检查从功能
- 6. 如何检查C++ 11支持?
- 7. DirectX 11功能级别
- 8. 检查预期功能
- 9. JS - 检查长度功能
- 10. MATLAB:检查点功能
- 11. Typescript strictNullChecks检查功能
- 12. 检查更新功能
- 13. 禁止检查功能
- 14. Windows Phone的功能检查
- 15. 规模的Javascript检查功能性能
- 16. 功能的C++查找根
- 17. 检查功能不起作用
- 18. 使用python检查的功能
- 19. 插入日期检查到功能
- 20. 何时检查功能/方法参数?
- 21. 如何在Autoconf中使用C++ 11功能?
- 22. cygwin上的gcc 4.7.3支持C++ 11并发功能吗?
- 23. CUDA C++ 11,lambdas数组,按索引功能,不起作用
- 24. 调试功能优化代码(C++ 11带模板)
- 25. 是铿锵c + + 11功能或错误std :: regex_match?
- 26. 如何实现decltype功能 - 预C++ 11,编译时间
- 27. 带检查元素功能的HTML渲染?如何C#
- 28. 如何检查使用c激活哪些窗口功能
- 29. 使用C#MS Office的拼写检查功能#
- 30. 检查求和功能中的分割错误C
直接的答案是编写一个具有该功能的代码并编译它。 – iammilind 2012-04-19 09:58:15
为什么这个问题要关闭? – 2012-04-19 10:15:14
@Nordlöw:两人投票决定将其作为[此问题]的副本关闭(http://stackoverflow.com/q/6095885/636019)。 – ildjarn 2012-04-19 17:26:31