C语言编译器支持的标准通常包括ANSI C、ISO C和C99等。具体来说,常见的C语言编译器支持的标准包括: ANSI C(即C89):由美国国家标准协会(ANSI)于1989年制定的C语言标准。 ISO C:国际标准化组织(ISO)基于ANSI C的标准,包含了一些额外的特性。 C99:ISO于1999年发布的C语言标准,增加了一些新的特性,如变长数组...
原名为GNU C语言编译器(GNU C Compiler),因为它原本只能处理C语言。GCC很快地扩展,变得可处理C++。之后也变得可处理Fortran、Pascal、Objective-C、Java、Ada,以及Go与其他语言。 如下表,GCC至今(version 4.7)已支持4种C标准。注意有些标准是不完全支持的。 参考:Language Standards Supported by GCC 另外,GCC也提...
默认情况下,当 MSVC 将代码编译为 C 时,它将使用特定于 Microsoft 的语言扩展实现 ANSI C89。 在 ISO C99 及更高版本中对某些 MSVC 扩展进行了标准化。 可以使用/Za编译器选项禁用大多数 MSVC C 扩展,如本文后面的详述。 可以使用/std编译器选项启用对 ISO C11 和 C17 的支持。 有关详细信息,请参阅/std...
日前微软VS团队宣布,将在Visual Studio 2019版本16.8预览版3开始,正式支持C11和C17为MSVC编译器。多年来,Visual Studio仅在C++要求的范围内支持C。随着两个新的编译器开关/std:c11和/std:c17的出现,VS将正式支持最新的ISO C语言标准。 概述 支持C11和C17的所有必需功能,将会添加这些功能:_Pragma,restrict,_Noretu...
查看当前编译器支持的C/C++标准 gcc -E -dM - </dev/null | grep "STDC_VERSION" 或者 printf("%ld\n",__STDC_VERSION__); printf("%ld\n",__cplusplus); 对应关系如下 如果没查到,则默认是c89的标准; 如果是#define __STDC_VERSION__ 199901L,则默认支持的是c99标准;...
1.ANSI C标准 ANSI C标准被几乎所有广泛使用的编译器所支持,多数C语言代码是在ANSI C基础上写的。记得,大学那会上的《C语言程序设计》课程中讲到的也是这个标准的C语言。ANSI C是美国国家标准协会(ANSI)对C语言发布的标准,使用C的软件开发者被鼓励遵循ANSI C文档的要求。ANSI C经历了以下的历史过程:(1).C语...
如图1所示,GCC,MSVC,CLANG是目前最主流的C/C++编译器,编译器是一组程序(这里包含链接等程序),它们的主要作用是将C/C++源代码翻译成可以执行的机器字节码(可执行程序)。因此,编译器的开发者们一般会完成C/C++标准中新增语言本身部分的开发支持,同时还会完成标准库之一的一个实现。
其次,大多数编译器已经支持C99标准了。你可以在gcc上测试一下 int n = 3; int a[n];//这是注释...
这个标准一般也叫做C89/C90标准,也是目前各种编译器默认支持的C语言标准。ANSI C 标准主要新增了以下特性。 增加了signed、volatile、const关键字 增加了 void* 数据类型 增加了预处理器命令 增加了宽字符、宽字符串 定义了C标准库 ... C99 标准 ...