c语言c11标准 下载,【整理】C语言的各种版本:C89,AMD1,C99,C11

article/2025/10/9 18:35:54

【背景】

之前就知道了有个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语言的各种版本

541385b2b0a309ccdca7c37e6c8d8db1.png

C语言的各种版本

主版本

C89

AMD1

C99

C11

别名

C90

ANSI C

X3.159-1989

ISO/IEC 9899:1990

C94

C95

ISO/IEC 9899:1999

ISO/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语言实现时所对应函数库

如此,就很清晰明了了。


http://chatgpt.dhexx.cn/article/TWGXL0Wj.shtml

相关文章

iec611313标准下载_IEC 60249-1-1982(R1993)

基本信息 标准号:IEC 60249-1-1982(R1993) 标准名称:Base Materials For Printed Circuits. Part 1: Test Methods 外文名: Base Materials For Printed Circuits. Part 1: Test Methods 标准状态: 废止 被以下替代标准&#xff1…

iec611313标准下载_IEC 61730-1-2016

基本信息 标准号:IEC 61730-1-2016 标准名称:Photovoltaic (Pv) Module Safety Qualification – Part 1: Requirements For Construction 外文名: Photovoltaic (Pv) Module Safety Qualification – Part 1: Requirements For Construction…

iec611313标准下载_IEC 62108-2016

基本信息 标准号:IEC 62108-2016 标准名称:Concentrator Photovoltaic (Cpv) Modules And Assemblies – Design Qualification And Type Approval 外文名: Concentrator Photovoltaic (Cpv) Modules And Assemblies – Design Qualification…

国际著名标准化组织及ISO/IEC/ASTM/IEEE等国际标准免费下载地址

在知识经济时代,标准已被称作世界的通用语言。你看不懂语言没关系,但是一个标准的图形符号,你就能看明白,很快能GET到你需要的信息。在没有标准的世界,不仅人与人之间难以沟通,机器、零部件以及产品之间的联…

光伏产品标准 - IEC 61215:2021版系列简介及标准下载

光伏产品标准 - IEC 61215:2021版全系列简介及标准下载 2021年初,IEC正式发布了光伏产品IEC 61215:2021相关系列标准的更新版本,这也是IEC 61215:2016发布以来的首次更新。近五年来光伏行业技术发展迅猛,新标准的推出也迫在眉睫,历…

Java入门教程(二)程序设计基础

Java入门 二.Java程序设计基础1.标识符和关键字1.1标识符概述1.2标识符1.3关键字概述1.4关键字特点: 2.注释2.1概述2.2注释分类 3.Java常量3.1常量概述3.2常量分类 4.数据类型4.1计算机存储单元4.2数据类型4.3内存占用和取值范围 5.Java变量5.1变量概述5.2变量定义5…

Java程序设计教程——第四、六章习题

1、判断题 下标是用于指出数组中位置的数字或变量。(X)同一个数组中可以存放多个不同类型的数据。(X)[数组是相同数据类型的数据元素的集合]数组的下标可以是int型或float型。(X)数组可声明为任何数据类型…

Java程序设计与实践教程

Java简介: Java的名字来源于印度尼西亚爪哇岛的英文名,这个小岛因盛产咖啡而闻名。JavaBeans(咖啡豆),Sun和Java的标识也正是一杯冒着热气的咖啡。Sun(Stanford University Network)公司被美国…

java入门-java程序

前言 java入门系列,自我学习总结,用来记录一些入门简单的知识点和自己的思考总结,不会很详细的进行记录。 参考文档地址:菜鸟教程 参考文档地址:廖雪峰 Java 教程 参考视频笔记:b站尚硅谷 什么是计算机程…

《Java语言程序设计》

一、Java概述 Java是简单的,面向对象的语言,具有分布性、安全性、健壮性;最初版本是解释执行的,后期增加了编译执行;是多线程的、动态的;最主要的是与平台无关,解决了软件移植的问题。 Java语…

Java程序设计教程(第3版)雍俊海 全书例程-1

按书的页码排列 如果代码有误,欢迎评论区指正! p14简单招呼程序例程 public class J_HelloJava {public static void main(String args[ ]){System.out.println("Java语言,您好!");System.out.println("我将成为优秀的Java程…

Java程序设计基础——简单Java程序

简单Java程序 一、Java应用程序1.HelloWorldApp源代码:编译运行: 二、Java小应用程序1.HelloApplet源代码:编译运行: 2.firstApplet源代码:编译运行: 一、Java应用程序 1.HelloWorldApp 源代码&#xff1…

java程序入门

java程序基础入门 第1章 认识java1.1 Windows系统Java开发环境搭建1.2 Java运行及原理分析1.3 java基础语法1.4 本章小结 第2章 变量&运算符2.1 变量的概念和作用2.2常量2.3 数据类型2.4 运算符2.5 本章小结 第3章 流程控制语句3.1 选择结构3.2 循环语句 第1章 认识java J…

Java程序设计入门教程--类的行为

类的成员方法是Java描述类对象行为的途径。成员方法的定义应包含两部分内容:方法声明和方法体。 方法定义常用的格式如下: [public/protected/private][static][final/abstract] returnType methodName([param List]) [throw…

Java入门之基础程序设计

1、Java语言特点了解 1. java语言: 有些语言提供了可移植性、垃圾收集等机制,但是没有提供一个大型的库。如果想要有酷炫的绘图功能、网络连接功能或者数据库存取功能,就必须动手编写代码。Java具备所有这些特性,它是一种功能齐…

Java程序设计(一)

终于开Java课了,完全没动力学习O__O "… 环境 JDK-11.0.2 eclipse-jee-2018-12-R-win32-x86_64 都是官网找最新版本下的。 Java语言基础 实验编号: 实验一 实验主题: Java语言基础 实验目的: (1)熟悉使用Eclipse、Netbe…

Java语言程序设计(基础篇)

网站 更多书籍点击进入>> CiCi岛 下载 电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍 电子书下载(皮皮云盘-点击“普通下载”)购买正版 封页 编辑推荐 Java语言的经典教材,多年来…

Java的基本程序设计

前言: 阅读完本章,你将学习到Java的基本类型、变量与常量、运算符及其进阶部分。 注:关于进阶部分将会标注 " * " , 初学者可以跳过。 目录 一, 变量与常量 1.1 声明变量 1.2 变量的命名规则 1.3 变量初始化 1.4 常量 二, Java基本数据类型 2.1 基本数据类型&…

Java程序设计基础

Java程序设计基础 Java最早是由SUN公司(2009年4月被Oracle收购)的James Gosling(詹姆斯高斯林Java之父)在上个世纪90年代初开发的一种编程语言,最初被命名为Oak,在1995年以Java的名称正式发布,1…

java语言程序设计-基础篇

第1章,计算机、程序和Java概述 包括【每个java初学者都应该搞懂的问题】 http://blog.csdn.net/haobo920/article/details/5784990 1,java背景 特点: 一次编译,到处运行(Write Once, Run Anywhere.)。 原理…