C11
来自cppreference.com
< c
ISO/IEC 9899:2011 ,又称 C11 ,是先前的 C 标准版本。
过时
移除
新语言特性
- 多线程环境
- 增强的对齐支持
- Unicode 支持
- 泛型选择表达式(_Generic)
- 不返回的函数(_Noreturn)
- 匿名结构体与联合体成员
- 细粒度的求值顺序
- 延长临时对象生存期
- _Static_assert
- 可分析性
可选特性的功能特性测试宏
- __STDC_ANALYZABLE__
- 指示支持可分析性。
- __STDC_LIB_EXT1__
- 指示支持边界检查函数。
- __STDC_NO_ATOMICS__
- 指示不支持原子对象与原子操作库。
- __STDC_NO_COMPLEX__
- 指示不支持复数类型与复数数学函数。
- 这些特性在 C99 中为强制。
- __STDC_NO_THREADS__
- 指示不支持线程局部存储与线程支持库。
- __STDC_NO_VLA__
- 指示不支持非常量长度数组与可变修改类型。
- 这些特性在 C99 中为强制。
新的库特性
新的头文件
-
<stdalign.h>
-
<stdatomic.h>
-
<stdnoreturn.h>
-
<threads.h>
-
<uchar.h>
库特性
- 多线程环境
- aligned_alloc()
- UTF-16/32 类型别名
- UTF-16/32 转换函数
- quick_exit()
- at_quick_exit()
- fopen() 与 freopen() 的排他模式("x")
- 边界检查函数
- timespec
- timespec_get()
- CMPLX(F|L)?
- 新的数值界限宏
- 线程局部的 errno
缺陷报告
Template:c/language/history/DR11