不同版本的C/ c++

Different versions of C/C++

本文关键字:c++ 版本      更新时间:2023-10-16

我知道我的电脑上有Java 1.7和Python 2.7。如何检查我使用的是哪个版本的C和c++ ?此外,我如何检查我正在使用的C/c++编译器?我正在运行OS x。

另外,不同版本的C/c++和不同版本的C/c++的编译器之间的关系是什么?每个编译器对应于不同版本的C/c++吗?例如,gcc4-3是否只编译c++ 2014?

如果你需要c++标准版本,那么你应该在这里使用'__cplusplus'宏。

如果你指的是编译器版本和编译器类型,那么检查所有由不同编译器定义的宏。

哦,顺便说一句,编译器通常是向后兼容的。所以,一个可以编译c++ 11代码的编译器,也可以编译c++ 98。

我如何检查我有什么版本的C和c++ ?

c++编译器应该定义一个预处理器的const __cplusplus,你可以通过std::cout<<__cplusplus<<'n'来查看哪个标准编译器在运行。

我如何检查我正在使用的C/c++编译器?

检查你的IDE

不同版本的C/c++和不同版本的C/c++编译器之间的关系是什么?

新的编译器可以适应最新的标准。

每个编译器对应不同版本的C/c++吗?

MS Office只打开最新版本的文件吗?不。

要获取gcc的版本,您可以在终端中运行:

gcc -v

对于g++,可以执行:g++ -v


编译器可以编译不同版本的C/c++。所以gcc4-3可以编译不同版本的c++。

编译器的版本独立于语言的版本。新版本的gcc包含新特性和错误修复。

每个编译器对应不同版本的C/c++吗?

。编译器版本与其所支持的语言版本之间没有相关性。

大多数当前编译器应该支持从K&R C到C2011的所有内容,至少就语法而言(一些头可能缺失,并且gets库函数作为C2011标准而消失,因此非常旧的代码在针对最新标准编译时可能会中断)。一些编译器,如gcc,允许您指定要构建的语言版本(-ansi用于C89/C90, -std=c99用于C99, -c11用于C2011,至少从gcc 4.9.1开始)。

微软的C编译器在Visual Studio中的一个值得注意的例外;直到最近very,它只支持C90。我的理解是,他们终于开始支持至少一些的C99/C2011的变化(如混合声明和代码)。

在C语言中,如果至少支持C90,预定义宏__STDC__将扩展为1;如果支持C99或C2011,预定义宏__STDC_VERSION__将扩展为yyyymmL形式的long常量(例如,如果编译器最多支持C99,则__STDC_VERSION__扩展为199901L)。