C11

C11指ISO标准ISO/IEC 9899:2011,是当前最新的C语言标准。在它之前的C语言标准为C99。

新特性

  • 对齐处理(Alignment)的标准化(包括_Alignas标志符,alignof运算符,aligned_alloc函数以及<stdalign.h>头文件)。
  • _Noreturn 函数标记,类似于 gcc 的 __attribute__((noreturn))。

  • _Generic 关键字。

  • 多线程(Multithreading)支持,包括:
    _Thread_local存储类型标识符,<threads.h>头文件,里面包含了线程的创建和管理函数。
    _Atomic类型修饰符和<stdatomic.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()失败时可以做最少的清理工作。

C11 标准 新特性相关推荐

  1. C语言现行标准C11的新特性

    C11标准是 ISO/IEC 9899:2011 - Information technology – Programming languages – C 的简称,曾用名为C1X. C11标准是C语言 ...

  2. C++11 标准新特性:委派构造函数

    https://www.ibm.com/developerworks/cn/rational/1508_chenjing_c11/index.html 陈 晶 2015 年 8 月 11 日发布 We ...

  3. C++11 标准新特性: 右值引用与转移语义(点评)

    <<C++11 标准新特性: 右值引用与转移语义>> 原文地址如下 http://www.ibm.com/developerworks/cn/aix/library/1307_ ...

  4. std::move C++11 标准新特性: 右值引用与转移语义

    新特性的目的 右值引用 (Rvalue Referene) 是 C++ 新标准 (C++11, 11 代表 2011 年 ) 中引入的新特性 , 它实现了转移语义 (Move Sementics) 和 ...

  5. C++11 标准新特性:Defaulted 和 Deleted 函数

    https://www.ibm.com/developerworks/cn/aix/library/1212_lufang_c11new/index.html Defaulted 函数 背景问题 C+ ...

  6. C++11 标准新特性: 右值引用与转移语义

    原文地址 http://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/ C++ 的新标准 C++11 已经发布一段时间了.本文介绍了新 ...

  7. 【转】C++11 标准新特性: 右值引用与转移语义

    VS2013出来了,对于C++来说,最大的改变莫过于对于C++11新特性的支持,在网上搜了一下C++11的介绍,发现这篇文章非常不错,分享给大家同时自己作为存档. 原文地址:http://www.ib ...

  8. html5标准新特性及其使用技巧

    运用html5新特性,首先需要声明头文件,其实浏览器不认识头也会照最新标准渲染.声明后网站结构如下:1 <!DOCTYPE html> <html><head> & ...

  9. C11标准委员会成员解读C语言新标准

    导读:C语言国际标准新的新草案之前已经公布,新标准提高了对C++的兼容性,并将新的特性增加到C语言中.此外支持多线程的功能也受到了开发者的关注,基于ISO/IEC TR 19769:2004规范下支持 ...

最新文章

  1. BMC:幼年特发性关节炎患儿肠道菌群的特征、生物标记的识别及其在临床预测中的作用...
  2. 如何摆脱穷打工的命?
  3. kodi android设置中文,Kodi(原XBMC)
  4. 【实习生笔试面试题】2013年搜狐SOHU实习生技术笔试题
  5. 网页动态加载图片 通过JS和jquery实现。
  6. 2345联盟通过流氓软件推广挖矿工具, 众多用户电脑沦为“肉鸡”
  7. 物联网可能面临灾难性安全风险
  8. 7.从Paxos到Zookeeper分布式一致性原理与实践---Zookeeper 技术内幕
  9. Round14—最小生成树
  10. FFmpeg完美编译iOS版本
  11. 从零开始的纪中生活(7.11~7.22)
  12. mac系统下不用u盘怎么装win7系统
  13. 解决闲人的简单JS别踩白块(简易版)小游戏啦!
  14. 丁丽萍:云计算环境下的隐蔽信道分析
  15. 实在智能:RPA领域如何使用CRM实现业务精益化管理
  16. 使用signal函数自定义信号处理方式
  17. bodymovin导出动画json结果分析
  18. 电源学习-开关电源PCB设计
  19. MSM平台上的AMSS 概述
  20. 快速解决java中的容器

热门文章

  1. JAVA企业级开发学习笔记
  2. spring-boot-maven-plugin未指定版本导致编译错误-spring-boot-maven-plugin:3.0.0
  3. 测试:IT行业里被轻视的小可怜
  4. [转]为iPhone4S和iOS5增加全局英汉词典教程
  5. initWithNib init initWithCoder initWithFrame
  6. 我的开源夏令营--刚刚过去的两个月
  7. dnf时装补丁教程_dnf时装补丁怎么用_dnf时装补丁放哪_牛游戏网攻略
  8. 后台开发、前端开发的一些想法
  9. VScode安装Svn插件
  10. Redis缓存设计(key、value设计)与性能优化(缓存击穿、缓存穿透、缓存雪崩)