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_t
和char32_t
类型,包括
对应的u和U字符串文字前缀和转换函数) - 删除
gets
函数 - 界限检查界面(附件K)
- 可分析性特征(附件L)
我看起来像4.6的gcc 开始看C1x。 他们声称:
- 静态断言(_Static_assert关键字)
- Typedef重新定义
-
中的新宏 - 匿名结构和工会
找到当前状态的最佳位置可能是查看新版C标准的最新草案 。 警告:虽然它直接来自委员会,但该链接背后的服务器并不总是响应最快……