6

是否有任何 c 编译器实现了任何 C1X 功能?

PS:有没有办法在当前的 c 编译器中模拟其中一些功能

4

4 回答 4

7

除了 gcc,clang 还开始添加对 C1x 功能的支持。特别是,支持_Generic_Static_assert。其他一些功能也可以实现,但我还没有尝试过。

于 2011-09-10T14:20:38.697 回答
7

GCC 4.6对 C1X 特性有一些实验性支持:

现在对即将到来的 ISO C 标准 C1X 修订版中的某些功能提供实验性支持。可以使用 -std=c1x 或 -std=gnu1x 选择此支持以用于具有 GNU 扩展的 C1X。请注意,此支持是实验性的,并且可能在未来版本中进行不兼容的更改,以与 C1X 标准草案的更改保持一致。如 C1X 的 N1539 草案中所述,新支持以下功能(在 2011 年 3 月的 WG14 会议上同意更改);其他一些特性已经得到支持,不需要编译器更改,或者有一些支持但不完全符合 N1539(经修订)。

  • 静态断言(_Static_assert 关键字)
  • 类型定义重新定义
  • <float.h> 中的新宏
  • 匿名结构和工会
于 2011-09-01T09:43:41.583 回答
3

基于对列表和 gcc 测试套件的细读(ls gcc/gcc/testsuite/gcc.dg/c1x*):

  • 我看起来像 _Noreturn即将出现在 gcc-4.7 中。
  • 从测试套件看来,unicode 字符串也是如此。
  • 看起来 CMPLX 宏也正在处理中。
  • 也许_Generic会出现在 gcc-4.8 中。
于 2011-09-02T17:19:43.017 回答
2

您可能需要检查Pelles C(仅适用于 Windows)。

于 2013-05-08T04:30:07.580 回答