C1x:何时降落,会发生什么?

许多编译器仍然不支持C99,现在大部分时间都集中在C ++和即将推出的标准C ++ 1x上。

我很好奇C会在下一个标准中获得什么,何时会获得它,以及它将如何保持C的竞争力。 众所周知,C和C ++是相互依赖的改进,C是否会以C ++ 1x标准为基础?

在C的未来我能期待什么?

ISO / IEC 9899:2011标准 ,即C11,于2011年12月发布 。

最新的草案是N1570 ; 我不知道它与最终标准之间有任何差异。 已经有一份技术勘误修正了__STDC_VERSION__ (现为201112L )和可选__STDC_LIB_EXT1__ (现为201112L )规范中的__STDC_VERSION__

我正在输入一系列function,但注意到C1X上的维基百科页面列出了所有建议的更改。

在ISO C工作组上发布’在他们的网站上发送邮件后’。 其中一个更有趣的是编辑报告 。

以下是维基百科页面的摘要:

  • 对齐规范( _Align说明符, alignof运算符, aligned_alloc函数)
  • multithreading支持( _Thread_local存储类说明符, 头文件,包括线程创建/管理函数,互斥锁,条件变量和特定于线程的存储function)
  • 改进的Unicode支持(用于存储UTF-16 / UTF-32编码数据的char16_tchar32_t类型,包括对应的u和U字符串文字前缀和转换函数)
  • 删除gets函数
  • 界限检查界面(附件K)
  • 可分析性特征(附件L)

我看起来像4.6的gcc 开始看C1x。 他们声称:

  • 静态断言(_Static_assert关键字)
  • Typedef重新定义
  • 中的新宏
  • 匿名结构和工会

找到当前状态的最佳位置可能是查看新版C标准的最新草案 。 警告:虽然它直接来自委员会,但该链接背后的服务器并不总是响应最快……