C历史发展
2020-09-22 21:48:18 0 举报
时间轨迹流程图
作者其他创作
大纲/内容
标准化的一个目的是扩展K&R C,增加了一些新特性。-void 函数-函数返回 struct 或 union 类型-void * 数据类型
2011 年
1972年
1977年
ANSI C 标准
C11
C语言开始移植到其他机器上使用。史蒂芬·强生实现了一套“可移植编译器”,这套编译器修改起来相对容易,并且可以为不同的机器生成代码。
K&R C语言到ANSI/ISO标准C语言的改进包括:-增加了真正的标准库-新的预处理命令与特性-函数原型允许在函数申明中指定参数类型-一些新的关键字,包括 const、volatile 与 signed-宽字符、宽字符串与多字节字符-对约定规则、声明和类型检查的许多小改动与澄清
1983 年
1975年
1970年
1990 年
20世纪60年代
Ken Thompson,以BCPL语言为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母)。并且他用B语言写了第一个UNIX操作系统,它也是无类型的
Unix操作系统的核心正式用C语言改写,这是C语言第一次应用在操作系统的核心编写上。
美国贝尔实验室的 D.M.Ritchie 在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言
1999年
C99
ANSI X3.159-1989“Programming Language C”正式发布,这也意味着第一个 C 语言标准诞生,我们经常将其简称为 ANSI C 或者 C89。
C源于BCPL语言,1967年左右Martin Richards对CPL语言进行了简化,于是产生了BCPL。BCPL是一门\"无类型\"的编程语言:它仅能操作一种数据类型,即机器字
2018 年
Brian Kernighan 和 Dennis Ritchie 发布了《The C Programming Language》一书,这本书也被广大 C 程序简称为 K&R,长期作为非正式的语言规范
C99 版本有了 inline 的函数,支持 long long int,我们经常用的单行注释//
1967年左右
美国美国国家标准学会成了一个 X3J11 委员会,基于 Unix 系统中C 语言的实现完成 C 语言的标准规范,但是 Unix C 库中不能移植的部分被交给了 IEEE 1003 工作组,该工作组在此基础上完成了 1988 年的 POSIX 标准。
1994 年做出的所有修改:-3 个新的标准库头文件 iso646.h、wctype.h 和 wchar.h-几个新的记号与预定义宏,用于对国际化提供更好的支持-printf/sprintf 函数一系列新的格式代码-大量的函数和一些类型与常量,用于多字节字符和宽字节字符
Ken Thompson着手为PDP-7开发操作系统,后来的UNIX
Dennis M.Ritchie发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》
ISO 发布了 ISO/IEC 9899:1999,通常我们将其称为 C99。
ANSI C 标准被国际标准化组织 ISO 接收成为 ISO/IEC 9899:1990,这也就是常说的 C90。所以 C89 和 C90 实际上是同一个 C 语言版本,只是被不同的标准组织认可和发布。随后,ANSI亦接受国际标准C,并不再发展新的C标准。
1989年
K&R C主要引入了以下语言特性:-标准I/O库-结构(struct)类型-长整数(long int)类型-无符号整数(unsigned int)类型-把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道用户要处理i = -10还是i =- 10,使得处理上产生混淆。
C18
C18 是目前最新版本的 C 语言标准规范,这个版本并没有增加新的内容,只是修正了 C11 中的一些缺陷。
1973年
1978年
C11,这个版本中支持了 unicode,原子操作,多线程等内容,并改进了与 C++的兼容性。
1994年
WG14工作小组对1985年颁布的标准做了两处技术修订(缺陷修复)和一个补充(扩展)。
0 条评论
下一页