`

C语言新标准C11

阅读更多
2011年12月8号,ISO 发布了新的 C 语言的新标准——C11,之前被称为C1X,官方名称 ISO/IEC 9899:2011。
相比C99的变化
1. 对齐处理操作符 alignof,函数 aligned_alloc(),以及 头文件 <stdalign.h>。见 7.15 节。
2. _Noreturn 函数标记,类似于 gcc 的 __attribute__((noreturn))。例子:
_Noreturn void thrd_exit(int res);
3. _Generic 关键词,有点儿类似于 gcc 的 typeof。例子:
#define cbrt(X) _Generic((X), long double: cbrtl, \
default: cbrt, \
float: cbrtf)(X)
4. 静态断言( static assertions),_Static_assert(),在解释 #if 和 #error 之后被处理。例子:
_Static_assert(FOO > 0, "FOO has a wrong value");
5. 删除了 gets() 函数,C99中已经将此函数被标记为过时,推荐新的替代函数 gets_s()。
6. 新的 fopen() 模式,(“…x”)。类似 POSIX 中的 O_CREAT|O_EXCL,在文件锁中比较常用。
7. 匿名结构体/联合体,这个早已经在 gcc 中了,我们并不陌生,定义在 6.7.2.1 p13。
8. 多线程支持,包括:_Thread_local,头文件 <threads.h>,里面包含线程的创建和管理函数(比如 thrd_create(),thrd_exit()),mutex (比如 mtx_lock(),mtx_unlock())等等,更多内容清参考 7.26 节。
9. _Atomic类型修饰符和 头文件 <stdatomic.h>,见 7.17 节。
10. 带边界检查(Bounds-checking)的函数接口,定义了新的安全的函数,例如 fopen_s(),strcat_s() 等等。更多参考 Annex K。
11. 改进的 Unicode 支持,新的头文件 <uchar.h> 等。
12. 新增 quick_exit() 函数,作为第三种终止程序的方式,当 exit() 失败时可以做最少的清理工作(deinitializition),具体见 7.22.4.7。
13. 创建复数的宏, CMPLX(),见 7.3.9.3。
14. 更多浮点数处理的宏 (More macros for querying the characteristics of floating point types, concerning subnormal floating point numbers and the number of decimal digits the type is able to store)。
15. struct timespec 成为 time.h 的一部分,以及宏 TIME_UTC,函数 timespec_get()。
分享到:
评论

相关推荐

    《C语言最新C11标准》PDF

    《C语言最新C11标准》

    标准C语言参考手册 C11

    2011年12月8日,ISO正式公布C语言新的国际标准草案:ISO/IEC 9899:2011,即C11 这是最新的C语言参考手册

    标准C语言指南-C11标准

    本书基于C语言的最新标准ISO/IEC 9899:2011-C11标准,力求全面地介绍这门计算机语言的各个方面:词法元素、类型、声明、表达式、语句等,全书内容按概念和术语分类组织,示例丰富,查阅方便,适合具有一定C语言基础...

    C语言标准文件C99C11英文版.rar

    C语言国际标准文件 C99(最新版,修正后)、C11 (最新版),全英文版, 官方正式版,可以用来参考,学习;对于C语言开发者有一定帮助。

    C语言编程魔法书:基于C11标准.mobi

    语法扩展篇(第17~19章)讲述了GCC与Clang编译器对C语言的扩展,以及C语言的设计理念、未来C语言新添与排除特性。需要对底层交互与开发深入了解的读者大有裨益。 项目实践篇(第20~21章),UTF-8与UTF-16编码程序...

    C语言编程魔法书基于C11标准-6

    ⽽且所基于的编译器和开发环境也是⽐较新的Visual Studio Community 2017、GCC 5,以及Clang 3.8(Apple LLVM 8.0,基于Xcode 8)。 从适合读者阅读和掌握知识的结构安排上讲,本书分为“预备知识 篇”、“基础语法...

    标准C语言指南-完整扫描版.pdf

    本书基于C语言的最新标准ISO/IEC 9899:2011,力求全面地介绍这门计算机语言的各个方面:词法元素、类型、声明、表达式、语句等,全书内容按概念和术语分类组织,示例丰富,查阅方便,适合具有一定C语言基础的各类...

    从零学习编程技术-C语言编程的基础

    [1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。...

    C语言入门至精通

    [1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

    C语言必做的基础笔试题

    [1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

    标准C语言指南

    本书基于C语言的最新标准ISO/IEC 9899:2011,力求全面介绍这门计算机语言的各个方面:词法元素、类型、声明、表达式、语句等,全书内容按概念和术语分类组织,示例丰富,查阅方便,适合具有一定C语言基础的各类专业...

    C语言判断三角形

    [1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

    C语言经典算法-100例.rar

    C 语言是一种通用的、面向过程式的计算机程序设计语言。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言。...当前最新的C语言标准为 C11 ,在它之前的C语言标准为 C99。

    我的第一个C语言

    目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。 C语言是一门...

    编程 - c语言

    [1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

    C89-C17 C 语言标准参考手册 2021-01-22 最新版本

    最新 C 标准参考手册,包含:C89, C95, C99, C11, C17

    C语言规范(2011版)ISO/IEC 9899:2011

    2011年12月8日,ISO正式发布了新的C语言的新标准C11,之前被称为C1X,官方名称为ISO/IEC 9899:2011。 新的标准提高了对C++的兼容性,并增加了一些新的特性。这些新特性包括: 对齐处理(Alignment)的标准化(包括_...

    C语言详细教程, C语言代码大全, 附C语言《代码大全》(计算机经典书)

    C 语言是一种通用的、面向过程式的计算机程序设计语言。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发...当前最新的 C 语言标准为 C18 ,在它之前的 C 语言标准有 C17、C11...C99 等。

    人工智能神经网络

    [1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

    02CExamples.pdf

    资料很好C 语言是一种通用的、面向过程式的计算机程序设计语言。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言...当前最新的C语言标准为 C11 ,在它之前的C语言标准为 C99。

Global site tag (gtag.js) - Google Analytics