c语言最新版,【整理】C语言的各种版本:C89,AMD1,C99,C11 – 在路上
【背景】
之前就知道了有个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 – 在路上相关推荐
- c语言字符串知识整理
c语言字符串知识整理 c 语言中字符串并没有专门的类型定义,而是用连续的字符数组存储,并以转义\0 表示字符串结束,\0是空字符,不能被输出. /*常用字符串初始化方式*/char c1[] = &q ...
- c 程序设计语言 好难,C程序设计语言难点及分析
<C程序设计语言难点及分析>由会员分享,可在线阅读,更多相关<C程序设计语言难点及分析(20页珍藏版)>请在人人文库网上搜索. 1.C语言难点分析整理!语言难点分析整理!转贴转 ...
- r语言 整理、处理数据步骤_R语言万能数据清洗整理包Tidyverse(一)
数据整理和清洗是任何统计分析的前提,也是最为困难的一个环节,很多软件也提供了数据整理和清洗的功能.甚至连我们常用的EXCEL也可以做这个工作,但是效率很低,而且容易出错,且无法完整保存清洗过程.R语言 ...
- Go语言学习资料整理
整理网上找到的Golang语言学习资料 基础 基础教程 书籍在线版 Go 指南-A Tour of Go Go语言圣经(中文版) Effective Go中文版 Go Web编程 build-web- ...
- 简易电子钟c语言程序,(最新整理)基于51单片机的电子钟C语言程序
<(最新整理)基于51单片机的电子钟C语言程序>由会员分享,可在线阅读,更多相关<(最新整理)基于51单片机的电子钟C语言程序(9页珍藏版)>请在人人文库网上搜索. 1.完整) ...
- c语言程序设计字符处理周信东,“电子科技大学出版社(周信东主编)”的C语言程序设计实验-整理代码-.doc...
"电子科技大学出版社(周信东主编)"的C语言程序设计实验-整理代码-.doc -前言- /*非常感谢度?娘以及各位?网上C语言?高手的支持?,才能让敝人?完成此文档?的整理. 本文 ...
- GO语言学习资源整理
Go语言是谷歌发布的一套编程语言,因为其简单的部署.良好的并发性等特点受到很多企业的青睐,国外如Google.AWS.Cloudflare.CoreOS等,国内如七牛.阿里等都已经使用Golang开发 ...
- c语言程序设计安卓,C语言编程宝典最新版下载-C语言编程宝典appv1.7.1 安卓版-腾牛安卓网...
C语言编程宝典app是一款用来学习变成的软件,里面大量的教学视频,用户可以在线学习,还提供超多相关资料和习题,让用户轻松掌握知识点.小伙伴们快快下载吧! 软件简介: 这是一款学习C语言的神器 根据知名 ...
- 精心整理 | R语言中文社区历史文章整理(类型篇)
2018年过去一半了~又到了盘点的时间~感谢长时间来各位好友的关注,我们的成长与你们的爱护是分不开的.更感谢各位老师的投稿,支撑起了我们的这个社区,让更多R语言的爱好者和从业者获得最棒的知识!本文选取 ...
- R语言时间序列代码整理
R语言时间序列代码整理 时间序列: data<-read.csv('/Users/ji_fanyang/Desktop/test2.csv') myseries<- ts(data[1], ...
最新文章
- 细粒度语义分割:ICCV2019论文解析
- VBScript教程-第一章. 脚本的定义和术语
- mfc调取摄像头显示并截图_前摄后录,让行车安全再次提升:70迈智能后视镜后摄像头体验...
- 【推荐系统】推荐系统中的排序学习
- 微服务发现组件Eureka:简介以及Eureka服务端开发
- 五年级计算机学情分析,信息技术教学计划之学情分析
- 【Python】Flask框架系列(一):安装、页面跳转/重定向、模板、逻辑语句、过滤器、继承/使用block、url链接/加载静态资源
- Go 语言实现 23 种设计模式 单例模式
- python3字节转化字符_捋一捋字符串与字节序列的关系
- 【bzoj4007】[JLOI2015]战争调度 暴力+树形背包dp
- 【转】ThinkPHP命令行工具Tptool2.0使用教程
- Python 扩展C
- MVC5 Entity Framework学习参加排序、筛选和排序功能
- 洛谷 题解 P1757 【通天之分组背包】
- 2013年7月9日“新单位工作流水账之一”
- eslint 保存自动修复_ESLint 自动修复问题之如何保留最后修改人信息
- Arduino Atmega328P烧写bootloader及熔丝
- python 下载安装
- jflash烧录教程_Flash基础入门之J-Link固件烧录以及使用J-Flash向arm硬件板下载固件程序...
- vue分享给QQ好友,QQ空间,微博