1、 C语言的C11 标准有哪些改进的地方?会对各类C项目起到哪些帮助?
1. 对齐处理操作符 alignof,函数 aligned_alloc(),以及 头文件 。
2. _Noreturn 函数标记,类似于 gcc 的 __attribute__((noreturn))。
3. _Generic 关键词,有点儿类似于 gcc 的 typeof。
4. 静态断言( static assertions),_Static_assert(),在解释 #if 和 #error 之后被处理。
5. 删除了 gets() 函数,C99中已经将此函数被标记为过时,推荐新的替代函数 gets_s()。
6. 新的 fopen() 模式,(“…x”)。类似 POSIX 中的 O_CREAT|O_EXCL,在文件锁中比较常用。
7. 匿名结构体/联合体,这个早已经在 gcc 中了,我们并不陌生,定义在 6.7.2.1 p13。
8. 多线程支持,包括:_Thread_local,头文件 ,里面包含线程的创建和管理函数(比如 thrd_create(),thrd_exit()),mutex (比如 mtx_lock(),mtx_unlock())等等,更多内容清参考 7.26 节。
9. _Atomic类型修饰符和 头文件 ,见 7.17 节。
10. 带边界检查(Bounds-checking)的函数接口,定义了新的安全的函数,例如 fopen_s(),strcat_s() 等等。更多参考 Annex K。
11. 改进的 Unicode 支持&