当前C语言标准为ISO/IEC 9899:1999是吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当前C语言标准为ISO/IEC 9899:1999是吗?相关的知识,希望对你有一定的参考价值。
可以在那里查到这个C语言的标准?在下感激各位,谢谢!
C112011年12月8日,ISO正式发布了新的C语言的新标准C11,之前被称为C1X,官方名称为ISO/IEC 9899:2011。
新的标准提高了对C++的兼容性,并增加了一些新的特性。这些新特性包括:
对齐处理(Alignment)的标准化(包括_Alignas标志符,alignof运算符, aligned_alloc函数以及<stdalign.h>头文件。
_Noreturn 函数标记,类似于 gcc 的 __attribute__((noreturn))。
_Generic 关键字。
多线程(Multithreading)支持,包括:_Thread_local存储类型标识符,<threads.h>头文件,里面包含了线程的创建和管理函数。
增强的Unicode的支持。基于C Unicode技术报告ISO/IEC TR 19769:2004,增强了对Unicode的支持。包括为UTF-16/UTF-32编码增加了char16_t和char32_t数据类型,提供了包含unicode字符串转换函数的头文件<uchar.h>.
删除了 gets() 函数,使用一个新的更安全的函数gets_s()替代。
增加了边界检查函数接口,定义了新的安全的函数,例如 fopen_s(),strcat_s() 等等。
增加了更多浮点处理宏。
匿名结构体/联合体支持。这个在gcc早已存在,C11将其引入标准。
静态断言(Static assertions),_Static_assert(),在解释 #if 和 #error 之后被处理。
新的 fopen() 模式,(“…x”)。类似 POSIX 中的 O_CREAT|O_EXCL,在文件锁中比较常用。
新增 quick_exit() 函数作为第三种终止程序的方式。当 exit()失败时可以做最少的清理工作。
_Atomic类型修饰符和<stdatomic.h>头文件。
目前大多数的编译系统并没有完全的实现C11标准,主要还是以以前的C99标准为主流
你只要在百度百科中寻找关键字C11,就可以详细查到该标准 参考技术A C语言标准:ISO/IEC 9899:1999是1999年新出台的C语言标准
再加上2001年和2004年经过两次技术修正
ISO/IEC 9899:1999与两次技术修正被统称为C99标准 也就是目前最新的C语言标准
目前大多数的编译系统并没有完全的实现C99标准,主要还是以以前的C89标准为主流
你只要在百度百科中寻找关键字C99,就可以详细查到该标准 参考技术B 不是,是C11
以上是关于当前C语言标准为ISO/IEC 9899:1999是吗?的主要内容,如果未能解决你的问题,请参考以下文章
ISO/IEC 9899:1990 编程语言 C 关于 short int、int、long 的定义