2

ISO 9899:2018 已经从ISO提供了一段时间。变更清单:

什么是 C17,语言做了哪些改变?

尽管 ISO 文件将是 9899:2018,但这个版本的标准非正式地称为 C17。所以我想知道我们应该叫它C17还是C18。

为了不激起基于意见的答案,我的问题是:有哪些规范来源将该标准标记为“C17”或“C18”?

最规范的来源当然是 ISO 标准本身。鉴于此,为保持一致性,该标准应称为 C18:

  • C90 = 9899:1990
  • C99 = 9899:1999
  • C11 = 9899:2011
  • C1x = 9899:2018

它是在 2018 年发布的,而不是 2017 年。所以我认为我们应该称它为 C18?

虽然作为另一个例子,我知道 gcc 已经创建了一个编译器开关-std=c17,根据this。gcc 手册有些规范。他们打算保留这个名字吗?像clang和icc这样的其他人呢?

有没有一些共识?委员会的意见?

4

1 回答 1

6

鉴于标记已在 SO 上用于标识特定的 C 编译器实现,因此对于 2017 年最终确定但由 ISO 于 2018 年发布的 C 标准接受

另一种方法是为当前标记为的编译器创建一个合适的标记(名称如),然后重新创建(复制)标记 wiki 信息,使用新的的 44 个问题,然后用新的的 4 个问题,并使的同义词(反之亦然)。标签 wiki 需要将现有的用户重定向到

所有这些可能都应该在 MSO 而不是 SO 上讨论。

旁白:令人失望的是,ANSI 网上商店对 ISO/IEC 9899:2018 标准的 PDF 收取全价(非会员 232 美元;会员 185.60 美元),而不是像以前那样在 PDF 上提供优惠价格对于 C11。尽管我经常引用 C11 标准,但我很难为 PDF 证明这一点。如果费用合理,我愿意支持他们;该费用对个人来说是不合理的。

于 2018-08-12T22:45:27.703 回答