我们应该称它为C17还是C18?

时间:2018-08-08 13:45:00

标签: c c11 c17

ISO 9899:2018从ISO开始已经有一段时间了。更改列表:

What is C17 and what changes have been made to the language?

尽管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已根据this创建了一个编译器开关-std=c17。 gcc手册有些规范。他们打算保留这个名字吗?像clang和icc这样的其他呢?

是否有共识?委员会的意见?

1 个答案:

答案 0 :(得分:5)

鉴于标签已经在SO上用于标识特定的C编译器实现,因此接受作为2017年最终确定但于2018年由ISO发布的C标准的做法是务实的。

另一种方法是为当前标记为的编译器创建一个合适的标记(名称为),然后重新创建(复制)标记Wiki信息,重新标记当前标记的44个问题用新的标记,然后用新的标记当前标记为的4个问题,并使成为{{3 }}(而不是相反)。标签Wiki需要将现有的用户重定向到

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

此外:令人失望的是,ANSI网络商店对ISO / IEC 9899:2018标准的PDF收取全价(非会员为232美元;会员为185.60美元),而不是提供降低了PDF的费率,就像C11一样。尽管我经常提到C11标准,但我很难为PDF证明这么多。如果他们的费用合理,我想支持他们。对于个人而言,这笔费用不合理。