找回密码
 注册
关于网站域名变更的通知
查看: 98|回复: 0
打印 上一主题 下一主题

C语言发展简史

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2023-2-2 15:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
1、起源
# x8 Y8 G- V' D: d, J4 z
- E- f  ?4 i2 X
! J6 p# X! [* e6 nC 语言最早的原型是 ALGOL 60 1963 年,剑桥大学将其发展成为 CPL(Combined Programing Language)。1967 年,剑桥大学的 Matin Richards 对 CPL 语言进行了简化,产生了 BCPL 语言。7 l3 `1 E; Q" C7 {! b
; |1 `" Q+ n) s  T. {- i$ K. h. r" L1970 年,美国贝尔实验室(Bell Labs)的 Ken Thompson 将 BCPL 进行了修改,并取名叫做 B 语言,意思是提取 CPL 的精华(Boiling CPL down to its basic good features)。并用 B 语言写了第一个 UNIX 系统。! }" ]' ?" I/ _% m1 i
1973 年,AT&T 贝尔实验室的 Dennis Ritchie(D.M.RITCHIE) 在 BCPL 和 B 语言的基础上设计出了一种新的语言,取 BCPL 中的第二个字母为名,这就是大名鼎鼎的 C 语言。5 q. z( n( Q# ^$ t+ G9 ~8 u
随后不久,UNIX 的内核(Kernel) 和应用程序全部用 C 语言改写,从此,C 语言成为 UNIX 环境下使用最广泛的主流编程语言。4 W: B* A& r  m6 \
2、K&R C# k" B1 ^5 d4 }" P% r1 J4 F
# s( |. f+ B- G& b3 a. b6 _- f: p1 q7 j6 p/ M
1978 年,Dennis Ritchie 和 Brian Kernighan 合作推出了《The C Programming Language》的第一版(按照惯例,经典著作一定有简称,该著作简称为 K&R),书末的参考指南 (Reference Manual) 一节给出了当时 C 语言的完整定义,成为那时 C 语言事实上的标准,人们称之为 K&R C。从这一年以后,C 语言被移植到了各种机型上,并受到了广泛的支持,使 C 语言在当时的软件开发中几乎一统天下。  x5 F. V+ W+ b3 r( h4 R: T& w6 |& S' B4 `! G- \( C) E
3、C89 (ANSI C)+ N& W' Q9 l" O, y
( H- n! M7 u) V" t: Z
* K5 \, Q3 s+ m8 f2 y. B3 u随着 C 语言在多个领域的推广、应用,一些新的特性不断被各种编译器实现并添加进来。于是,建立一个新的“无歧义、于具体平台无关的 C 语言定义” 成为越来越重要的事情。1983 年,ASC X3(ANSI 属下专门负责信息技术标准化的机构,现已改名为 INCITS)成立了一个专门的技术委员会 J11(J11 是委员会编号,全称是 X3J11),负责起草关于 C 语言的标准草案。1989 年,草案被 ANSI 正式通过成为美国国家标准,被称为 C89 标准。, F+ U4 P- p, X* ~0 s% ^- c
4、C90 (ISO C): O2 ]! B0 e/ I, W+ F3 s4 z5 J" _: F

- Z; J- N. V2 J- F. Y2 Z随后,《The C Programming Language》第二版开始出版发行,书中内容根据 ANSI C(C89)进行了更新。1990 年,在 ISO/IEC JTC1/SC22/WG14 (ISO/IEC 联合技术第 I 委员会第 22 分委员会第 14 工作组) 的努力下,ISO 批准了 ANSI C 成为国际标准。于是 ISO C(又称为 C90) 诞生了。除了标准文档在印刷编排上的某些细节不同外,ISO C(C90) 和 ANSI C(C89) 在技术上完全一样。  r# B1 V/ P, Y$ q& x
) p2 R0 a, t  c' t0 n6 d' U9 U/ n- a5、C95' }; W3 ^6 c/ f) \/ g) O* H$ L3 V2 t
3 P" ^5 o! A5 ]' n
! z& {" `9 r& y7 L2 A9 N* }& z之后,ISO 在 1994、1996 年 分别出版了 C90 的技术勘误文档,更正了一些印刷错误,并在1995 年通过了一份 C90 的技术补充,对 C90 进行了微小的扩充,经过扩充后的 ISO C 被称为 C95。6 U8 l, f) {( A7 h/ @7 f7 M+ m0 I1 T  i
6、C99
; T. y) \  U5 i" M5 k- v9 N
6 R7 [( d) P- X' T1 c1999 年,ANSI 和 ISO 又通过了最新版本的 C 语言标准和技术勘误文档,该标准被称为 C99 。这基本上是目前关于 C 语言的最新、最权威的定义了。/ }5 s9 C. s, j6 l1 u: i- `
现在,各种 C 编译器都提供了 C89(C90) 的完整支持,对 C99 还只提供了部分支持,还有一部分提供了对某些 K&R C 风格的支持。* r9 d% w+ ^! {4 R1 p3 b" y1 d9 b5 f
目前主要的C语言规范有c89(c90), c95(94)和c99。C89是最早的C语言规范,于89年提出,90年先由美国国家标准局推出ANSI版本,后来被接纳为ISO国际标准 (ISO/IEC 9899:1990),因而有时也称为c90。但在94和96年分别对c90进行了两次错误修正,gcc支持的是修正后的c89(90)版本的C语言规范。在95年提出过对90版规范的修订案,称为 C95或者AMD1。gcc也支持c95规范。最新的一次C规范修订在99年制定(ISO/IEC 9899:1999),即常称的C99规范。在2001年对C99的错误进行了修正,gcc支持的修正后的c99规范,但是到目前为止,gcc还没有完成对c99规范的完全支持。
2 `2 H- @0 L# Z" B9 u& ~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-24 05:51 , Processed in 0.125000 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表