gcc的网站还称: “GCC对C++ 11的支持仍处于试验阶段。” (http://gcc.gnu.org/projects/cxx0x.html)。 我感到犹豫在我的组织内争论是否会转向C++ 11功能,而释放编译器的人说这一点。 如果gcc说它是实验性的,我应该争论“-std = C++ 11”吗?是使用-std = C++ 11适用于生产代码GCC 4.8.1
回答
我怀疑这是的,你可以说,直到事情发生了罕见的那些事(牛回家,地狱冻结等),并没有找到一个解决一个。
这里的关键是,“实验性支持”大概意思是说,如果你是对GCC支持合同,你可能无法提高对11个特征的“缺陷”票。但另一方面,我们可能会期望大多数功能都相当强大,因为在C++ 11规范推出之前,它们已经讨论了很长时间。
确定您的产品是否由编译器正确构建的关键仍然依赖于您对产品代码的测试(两者均作为各个级别的单元(函数,类,共享库,可执行代码对您的产品有意义)和“完整”产品)。根据C++ 11支持是否是实验性的,这并没有真正改变。即使非实验代码有时在编译器中也会中断。
另一部分看当然是“我们得到了什么好处,又有多少风险它影响到项目”。你是在改变整个系统,还是仅仅在一个角落中的一小部分,如果它突破可以通过以不同的方式做更多的步骤来解决?
最后,它真的,你必须去的东西“什么是前进和规避风险之间的最佳平衡。”
我倾向于同意。我不知道当他们说“实验性”时,组织的含义是什么。 Clang等人。没有这样说。我真的认为我们有这种情况,但海湾合作委员会的声明似乎打败了我的情况。 – John
很显然,我无法直接回答“GCC的实验意味着什么” - 它通常被用作“我们还没有完全测试过”(或者“它没有通过验证测试”或其他的东西这些线路 - 这可能是因为验证尚未完成,或者支持中出现了大量的漏洞 - 我不认为它是后者,但很可能是前者)。当然,这有点依赖于你的组织做了什么以及你测试的东西等等。我不确定我会用核试验台的“实验”编译器。游戏开发,当然 –
@John在我用g ++ 4.8.1的旅程中,我发现,例如,他们将其标记为“实验性”的一个可能原因可能在于,特定C++ 11中的线程模型实现是从POSIX线程库借用的,所以它不是真正由编译器或标准库(libstdC++)实现的,它基本上是第三部分库,GNU无法控制此项目。 – user2485710
- 1. GCC 4.8.1 C++ 11是否完整?
- 2. gcc中C++ 11线程的奇怪行为4.8.1
- 3. Google Annotations Gallery是否适用于生产代码?
- 4. GCC 4.8.1,C++ 11,共享库和异常处理麻烦
- 5. 什么是vs2012 cl.exe相当于gcc -std = C++ 11?
- 6. Atom是否适用于通用C代码生成?
- 7. C++ 11源代码生成
- 8. 如何在gcc中启用C++ 11?
- 9. C++:在生产代码中使用typeid
- 10. 如何在gcc中使用C++ 11 std :: stoi?
- 11. 为什么在使用clang -std = gnu ++ 11时编译C++代码?
- 12. C++ 11 GCC 4.6.2的std ::移动
- 13. C++ 11:GCC 4.8 static thread_local std :: unique_ptr undefined reference
- 14. 混合使用C和C++代码的产量在GCC
- 15. 用于GCC和MS的C程序Visual C++仅适用于GCC
- 16. 如何在TDM-gcc 4.8.1上使用Rcpp?
- 17. Enum类只能用于-std = C++ 11
- 18. QtCreator和MinGW GCC 4.8.1
- 19. GCC要求使用-std = C++ 11即使我已经在使用它
- 20. 用于C++代码生成
- 21. Littleproxy适用于生产吗?
- 22. Twig_Error_Syntax:函数“代码”不存在(适用于生产环境)
- 23. C++代码产生通过Visual StudioÇ不同的输出++和GCC
- 24. Coudn't运行代码使用的std ::异步的GCC 5.3.0
- 25. 使用c + +重复的代码11
- 26. 使用GCC预处理C代码
- 27. 如何更正下面的生产者消费者代码的c + + 11
- 28. Xamarin Forms是否适合生产使用
- 29. C++ 11 std :: atomic_flag,我正确使用它?
- 30. Netbeans的C/C++ 7.2 -std = C++ 11没有GCC V4.6或认可下
我不认为从我看过的所有使用中都不会有问题。它非常符合标准,并且错误不会经常出现。 – chris
http://gcc.gnu.org/gcc-4.8/cxx0x_status.html看起来相当不错 – user2485710
当问你自己这个问题时,考虑你的单元测试覆盖率。 :) –