Head First C 学习之K&R C 、ANSI C 、C99、C11和GNU

@(C语言)[学习笔记, Head First C, C语言]
起于Head First C 第2页 下,

书中简介:

ANSI C 始于20世纪80年代后期,适用最古老的代码。
C99标准始于1999年,有了很大的改进。
C11是2011年新发布标准。

不同版本的标准之间的差别不是很大

网上关于GNU C于ANSI C的博文连接,主要简介了他们之间的一些区别

由于有不同版本的C,以便日后区分和记忆,以时间年代序进行梳理,以便日后记忆。

K&R C简介:

1978年,丹尼斯•里奇(Dennis Ritchie)布莱恩•柯林汉(Brian Kernighan)合作出版了《C程序设计语言》的第一版。书中介绍的C语言标准也被C语言程式设计师称作“K&R C”,第二版的书中也包含了一些ANSI C的标准。

即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最低标准要求,许多老旧的编译仍然运行K&R C的标准。

ANSI C简介:

ANSI:美国国家标准学会(American National Standards Institute)
C 的第一个标准是由ANSI发布的。虽然这份文档后来被国际标准化组织(ISO)采纳并且ISO发布的修订版也被ANSI采纳了,但名称ANSI C(而不是 ISO C)仍被广泛使用。一些软件开发者使用ISO C,还有一些使用 Standard C

C89
1983年,ANSI组成了一个委员会,X3J11,为了创立 C 语言的标准。经过漫长而艰苦的过程,该标准于1989年完成,并在作为ANSI X3.159-1989 "Programming Language C"正式生效。因为这个标准是1989年发布的,所以一般简称C89标准。有些人也把C89标准叫做ANSI C,因为这个标准是ANSI发布的

C90
在1990年,ANSI C89标准被ISOIEC采纳为国际标准,名叫ISO/IEC 9899:1990 - Programming languages -- C[2] ,有些人简称C90标准。因此,C89和C90通常指同一个标准,一般更常用C89这种说法。

C99C11简介:

ISO:国际标准化组织(International Organization for Standardization)
IEC:国际电工委员会(International Electrotechnical Commission)

C99
在2000年3月,ISOIEC采纳了第二个C语言标准,名叫ISO/IEC 9899:1999 - Programming languages -- C,简称C99标准

C11
在2011年12月,ISOIEC采纳了第三个C语言标准,名叫ISO/IEC 9899:2011 - Information technology -- Programming languages -- C,简称C11标准它是C程序语言的最新标准。

参考资料链接:

C语言标准
C–K&R C 与 ANSI C的区别
【整理】C语言的各种版本:C89,AMD1,C99,C11
ANSI C与C89、C99、C11区别差异

042304010325958.png

GNU简介:

GNU编译器套件(GNU Compiler Collection)包括CC++Objective-CFortranJavaAdaGo语言的前端,也包括了这些语言的库(如libstdc++、libgcj等等)。GCC的初衷是为GNU操作系统专门编写的一款编译器。GNU系统是彻底的自由软件。此处,“自由”的含义是它尊重用户的自由。

GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如LinuxBSDMac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows

因为它原本只能处理C语言

发表评论