ANSI C、ISO C、Standard C、C89、C90、C99
来源:互联网 发布:opencv tld算法 编辑:程序博客网 时间:2024/05/22 17:10
ANSI C、ISO C、Standard C、C89、C90、C99
ANSI C、ISO C 和Standard C是由ANSI(AmericanNational Standards Institute,美国国家标准学会)或ISO(International Organization for Standardization,国际标准化组织)等标准机构发布的C语言标准。
根据制定的语言标准开发软件有助于提高软件在编译器间的可移植性。
C语言的第一个语言标准是由ANSI(AmericanNational Standards Institute,美国国家标准学会)发布。后来,ISO(International Organization for Standardization,国际标准化组织)采纳了这份标准并发布其修订版。
ANSI C特指ANSI发布的第一版C语言标准。ISO C则指ISO发布的C语言标准。StandardC则是相对于ANSI C和ISO C的一个泛称,表示遵循标准规范的C。
C89(ANSI C)
C语言的第一个标准是由ANSI发布。在1983年,ANSI成立X3J11委员制定C语言标准规范。该委员会在1989年完成C语言标准的制定,并作为ANSIX3.159-1989 "Programming Language C"正式生效。这个标准被称作"ANSIC"或"C89"(为了区别于C99)。
C90
在1990年,ISO根据ANSI C标准(仅进行少量的格式更改)发布ISO/IEC 9899:1990。这个版本被称为C90。C89和C90在本质上是同一种语言标准。
C95
在1995年,ISO根据ANSI C标准发布了其修订版ISO/IEC 9899/AMD1:1995,也称C95。该版本除了修改ANSI C标准中的错误外,还添加了一些语言特性,如提供宽字符(wide character)、制定标准宏__STDC_VERSION__规范等。
C99
在2000年,ANSI采纳了ISO / IEC 9899:1999标准,该标准通常称为C99。相比于之前的标准,本标准显著增加了一些特性,如:
提供新的内置数据类型:longlong,_Bool等;
添加新的核心语言功能,如静态数组索引,可变长度数组,可变宏等;
添加新的库头文件,如stdint.h、tgmath.h、complex.h等;
删除了几个危险的C89语言功能,如隐式函数声明和隐式int等;
…
为了支持C11标准,ANSI和ISO分别撤回该标准。
C11
C11”是C语言的当前标准。相比于之前的标准,C11的显著特性有:支持Unicode、提供跨平台多线程API(threads.h)、在语言内核和库文件stdatomic.h中支持原子类型。ISO为C11发布了一个技术勘误:
ISO / IEC 9899:2011 / Cor 1:2012
参考:
https://en.wikipedia.org/wiki/ANSI_CANSI C
https://zh.wikipedia.org/wiki/ANSI_CANSI C
- ANSI C、ISO C、Standard C、C89、C90、C99
- ANSI C,C90,C99
- C语言规范:C89、C90、C95、C99
- C语言规范:C89、C90、C95、C99
- C语言规范:C89,C90,C95,C99
- C语言规范:C89、C90、C95、C99
- C语言的标准(K&R C,ANSI C,C89,C90,C99)
- c99 和 c89(ANSI c)
- ANSI c与C89,C99,C11的区别
- C标准:C90、C99、C11
- ANSI C、ISO C、Standard C联系与区别
- ANSI C和C99
- K&R C C90,C99的改进
- C起源及C89/C99/C11标准
- ANSI C(C89)标准库函数手册
- UVa中的ANSI C是C89编译器
- 1 K&R C C90,C99的改进
- ISO/ANSI C的数据类型
- 码农成长记——for循环的应用
- 举个小栗子解释java动态代理
- OneNote笔记保存为博客
- Maven 安装和配置
- 第一次博客
- ANSI C、ISO C、Standard C、C89、C90、C99
- JQUERY复选框
- Android进阶之热修复
- 如何查看AX的版本
- 如何在Win10中使用Windows图片查看器打开图片
- HEVC里面CU与TU打印到屏幕及提取到txt文本
- Intel CPU集成显卡被UEFI BIOS禁用想开启的设置
- java 附近的人
- MYSQL命令