有任何 C 编译器实现任何 C1X 功能吗?

问题描述 投票:0回答:4

有任何 C 编译器实现任何 C1X 功能吗?

P.S.:有没有办法在当前的 C 编译器中模拟其中一些功能

c c11
4个回答
7
投票

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

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

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

7
投票

除了 gcc 之外,clang 也开始添加对 C1x 功能的支持。 特别是,支持

_Generic
_Static_assert
。 其他一些功能也可能实现,但我还没有尝试过。


3
投票

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

  • 我看起来像 _Noreturn iscoming 在 gcc-4.7 中。
  • 从测试套件来看,unicode 字符串也会如此。
  • 看起来 CMPLX 宏也正在使用
  • 也许 _Generic 会出现在 gcc-4.8 中。

2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.