【背景】

之前就知道了有个C90和C99。

后来又在:

期间知道有C11。

现在去整理一下,关于C语言的版本方面的更详细的内容。

参考内容:

C语言版本历史

C语言主要有三个版本:

ANSI C==C89==C90

ANSI C standard==X3.159-1989

1989年批准通过;

1990年发布;

后被批准为ISO标准:ISO/IEC 9899:1990

常叫做:C89

偶尔被叫做:C90

GCC中指定此版本所用参数时,有三种写法:-ansi

-std=c90

-std=iso9899:1990

此C90后来在1994年,1996年,先后发布过对应的勘误表;

AMD1==C94==C95

1995年,针对之前1900年发布的标准,发布了一个修订版;

添加了一个有向图(digraphs)和宏:__STDC_VERSION__

此标准,常被叫做:AMD1

有时候被叫做:C94或C95

GCC中指定此版本时所用参数:-std=iso9899:199409

C99

1999年又发布了新标准:ISO/IEC 9899:1999

常被叫做:C99

此C99标准未完成之前的草案,被叫做:C9X

GCC中指定此版本时所用参数有两种写法:-std=c99

-std=iso9899:1999

此C99后来在2001年,2004年和2007年,先后发布过对应的勘误表;

C11

2011年发布了新标准:ISO/IEC 9899:2011

GCC中指定此版本时所用参数有两种写法:-std=c11

-std=iso9899:2011

此C11标准未完成之前的草案,被叫做:C1X

关于GCC中对于C的扩展

对于GCC来说,对于上述各个版本的C语言,都有一定的扩展(extension)

如果用上面列出来的那些-std参数的话,则会禁止,不使用这些扩展的。

如果想要在GCC中使用C扩展的话,所用的参数都是gnuXX类型的,分别是:C90使用GCC的C扩展:-std=gnu90

C99使用GCC的C扩展:-std=gnu99

C11使用GCC的C扩展:-std=gnu11

当前C language dialect默认所用的参数是:-std=gnu90

但是当以后,GCC对于C99和C11支持程度真正完善后,则可能会换成对应的:-std=gnu99或-std=gnu11

C语言库函数实现类型

ISO的C语言标准,定义了对于C语言的两种实现:支持C语言的所有库函数

支持C语言的基本库函数( + 各自版本对应的实现)基本库函数包括:,,,

AMD1对应的是:

C99对应的是:,

C11对应的是:,

总结C语言的各种版本

C语言的各种版本主版本C89AMD1C99C11

别名C90

ANSI C

X3.159-1989

ISO/IEC 9899:1990C94

C95ISO/IEC 9899:1999ISO/IEC 9899:2011

标准通过时间1989年

标准发布时间1990年1995年1999年2011年

GCC使用此版本所用参数-ansi

-std=c90

-std=iso9899:1990-std=iso9899:199409-std=c99

-std=iso9899:1999-std=c11

-std=iso9899:2011

GCC使用此版本且带C扩展时所用参数-std=gnu90-std=gnu99-std=gnu11

C语言实现时所对应函数库

如此,就很清晰明了了。

c语言最新版,【整理】C语言的各种版本:C89,AMD1,C99,C11 – 在路上相关推荐

  1. c语言字符串知识整理

    c语言字符串知识整理 c 语言中字符串并没有专门的类型定义,而是用连续的字符数组存储,并以转义\0 表示字符串结束,\0是空字符,不能被输出. /*常用字符串初始化方式*/char c1[] = &q ...

  2. c 程序设计语言 好难,C程序设计语言难点及分析

    <C程序设计语言难点及分析>由会员分享,可在线阅读,更多相关<C程序设计语言难点及分析(20页珍藏版)>请在人人文库网上搜索. 1.C语言难点分析整理!语言难点分析整理!转贴转 ...

  3. r语言 整理、处理数据步骤_R语言万能数据清洗整理包Tidyverse(一)

    数据整理和清洗是任何统计分析的前提,也是最为困难的一个环节,很多软件也提供了数据整理和清洗的功能.甚至连我们常用的EXCEL也可以做这个工作,但是效率很低,而且容易出错,且无法完整保存清洗过程.R语言 ...

  4. Go语言学习资料整理

    整理网上找到的Golang语言学习资料 基础 基础教程 书籍在线版 Go 指南-A Tour of Go Go语言圣经(中文版) Effective Go中文版 Go Web编程 build-web- ...

  5. 简易电子钟c语言程序,(最新整理)基于51单片机的电子钟C语言程序

    <(最新整理)基于51单片机的电子钟C语言程序>由会员分享,可在线阅读,更多相关<(最新整理)基于51单片机的电子钟C语言程序(9页珍藏版)>请在人人文库网上搜索. 1.完整) ...

  6. c语言程序设计字符处理周信东,“电子科技大学出版社(周信东主编)”的C语言程序设计实验-整理代码-.doc...

    "电子科技大学出版社(周信东主编)"的C语言程序设计实验-整理代码-.doc -前言- /*非常感谢度?娘以及各位?网上C语言?高手的支持?,才能让敝人?完成此文档?的整理. 本文 ...

  7. GO语言学习资源整理

    Go语言是谷歌发布的一套编程语言,因为其简单的部署.良好的并发性等特点受到很多企业的青睐,国外如Google.AWS.Cloudflare.CoreOS等,国内如七牛.阿里等都已经使用Golang开发 ...

  8. c语言程序设计安卓,C语言编程宝典最新版下载-C语言编程宝典appv1.7.1 安卓版-腾牛安卓网...

    C语言编程宝典app是一款用来学习变成的软件,里面大量的教学视频,用户可以在线学习,还提供超多相关资料和习题,让用户轻松掌握知识点.小伙伴们快快下载吧! 软件简介: 这是一款学习C语言的神器 根据知名 ...

  9. 精心整理 | R语言中文社区历史文章整理(类型篇)

    2018年过去一半了~又到了盘点的时间~感谢长时间来各位好友的关注,我们的成长与你们的爱护是分不开的.更感谢各位老师的投稿,支撑起了我们的这个社区,让更多R语言的爱好者和从业者获得最棒的知识!本文选取 ...

  10. R语言时间序列代码整理

    R语言时间序列代码整理 时间序列: data<-read.csv('/Users/ji_fanyang/Desktop/test2.csv') myseries<- ts(data[1], ...

最新文章

  1. 细粒度语义分割:ICCV2019论文解析
  2. VBScript教程-第一章. 脚本的定义和术语
  3. mfc调取摄像头显示并截图_前摄后录,让行车安全再次提升:70迈智能后视镜后摄像头体验...
  4. 【推荐系统】推荐系统中的排序学习
  5. 微服务发现组件Eureka:简介以及Eureka服务端开发
  6. 五年级计算机学情分析,信息技术教学计划之学情分析
  7. 【Python】Flask框架系列(一):安装、页面跳转/重定向、模板、逻辑语句、过滤器、继承/使用block、url链接/加载静态资源
  8. Go 语言实现 23 种设计模式 单例模式
  9. python3字节转化字符_捋一捋字符串与字节序列的关系
  10. 【bzoj4007】[JLOI2015]战争调度 暴力+树形背包dp
  11. 【转】ThinkPHP命令行工具Tptool2.0使用教程
  12. Python 扩展C
  13. MVC5 Entity Framework学习参加排序、筛选和排序功能
  14. 洛谷 题解 P1757 【通天之分组背包】
  15. 2013年7月9日“新单位工作流水账之一”
  16. eslint 保存自动修复_ESLint 自动修复问题之如何保留最后修改人信息
  17. Arduino Atmega328P烧写bootloader及熔丝
  18. python 下载安装
  19. jflash烧录教程_Flash基础入门之J-Link固件烧录以及使用J-Flash向arm硬件板下载固件程序...
  20. vue分享给QQ好友,QQ空间,微博

热门文章

  1. 2022-2028年中国知识产权行业竞争策略研究及未来前景展望报告
  2. corenlp分词 stanford_Stanford CoreNLP 入门指南
  3. 创建磁盘分区,创建逻辑卷组。
  4. 新浪博客和微博已经成为黄色网站的…
  5. 2007年世界奇异新闻写真录
  6. 中国书法艺术会消亡吗?
  7. SAP S4 HANA 安装部署记事七.SAP S4 ON HANA 的部署准备
  8. storm mysql trident_Storm Trident详解
  9. 基于机器学习的文本分类
  10. 通过response返回json数据到前端