c++ - 我目前正在使用什么 c++ norme?

标签 c++ linux compiler-construction c++11

最近我在编写的 c++ 代码中遇到了编译错误,所以有人问我是否使用了 C++11 编译器,但老实说,我不知道如何检查我的编译器版本!所以知道如何解决这个问题吗??

顺便说一句,我将代码块用作 IDE,其中包括来自 MinGW 的 GCC 编译器和 GDB 调试器。另外,如果我在 Linux 下编译我的 c++ 代码,我应该运行什么命令来了解我的编译器版本?

最佳答案

这可能是一个棘手的问题。 C++11 指的是 标准,而不是编译器的版本。不同的编译器,以及 任何给定编译器的不同版本,通常会实现混合 标准的版本,至少对于最近的版本。更多或 更少,因为 C++11 的任何实现都是相当新的,因此 可能相当有问题。

大多数编译器都有输出版本的选项;许多人会输出它 系统地处于详细模式。对于 g++,请尝试 g++ --version。最近的 g++ 的版本确实对 C++11 有一些支持,但你必须激活 它与 -std=c++0x (而不是通常的 -std=c++03-std=c++98)。正如名称(c++0x,而不是 c++11)所示,它 不是真正的 C++11;它是一些(大多数?)的实现 主要的新功能,在基于各种工作的初步版本中 论文,而不是最终标准。

(FWIW:我认为没有任何编译器完全实现了所有 C++11,但我会 喜欢被证明是错误的。)

关于c++ - 我目前正在使用什么 c++ norme?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10026150/

相关文章:

java - 通过 Java GUI 运行 Linux 命令

compiler-construction - Lisp/Clojure DSL 的函数与符号

compiler-construction - 弹性/Bison : Multiple definition of 'said function'

c++ - 我可以从以前的参数中设置默认参数吗?

linux - 我刚刚在运行 Ubuntu 的新服务器上运行我的新 node.js/express 应用程序,我如何查看我的 Web 应用程序?

c++ - 如何在VI中移动到下一个括号

linux - 与子shell命令交互时如何使ctrl + c取消整个命令?

c++ - cmath 函数生成编译器错误

c++ - Netbeans 中有 R 的插件吗?

c++ - 为什么我在使用++ 时出现段错误,但在使用 '1 +' 时却没有?