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:
它于2018年发布,而不是2017年发布。所以我认为我们应该将其称为C18?
尽管作为另一个示例,我知道gcc已根据this创建了一个编译器开关-std=c17
。 gcc手册有些规范。他们打算保留这个名字吗?像clang和icc这样的其他呢?
是否有共识?委员会的意见?
答案 0 :(得分:5)
鉴于c18标签已经在SO上用于标识特定的C编译器实现,因此接受c17作为2017年最终确定但于2018年由ISO发布的C标准的做法是务实的。
另一种方法是为当前标记为c18的编译器创建一个合适的标记(名称为mplab-c18),然后重新创建(复制)标记Wiki信息,重新标记当前标记的44个问题用新的c18标记mplab-c18,然后用新的c17标记当前标记为c18的4个问题,并使c17成为{{3 }}(而不是相反)。标签Wiki需要将现有c18的用户重定向到c18。
所有这些都应该在MSO而不是在SO上进行讨论。
此外:令人失望的是,ANSI网络商店对ISO / IEC 9899:2018标准的PDF收取全价(非会员为232美元;会员为185.60美元),而不是提供降低了PDF的费率,就像C11一样。尽管我经常提到C11标准,但我很难为PDF证明这么多。如果他们的费用合理,我想支持他们。对于个人而言,这笔费用不合理。