【问题标题】:Should we call it C17 or C18? [closed]我们应该叫它C17还是C18? [关闭]
【发布时间】:2019-01-15 19:34:20
【问题描述】:

ISO 9899:2018 已在一段时间内通过ISO 提供。变更清单:

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

这个版本的标准被非正式地称为 C17 有一段时间了,尽管 ISO 文件将是 9899:2018。所以我想知道我们应该叫它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这样的其他人呢?

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

【问题讨论】:

  • (作为一个元旁注,c18 标签已经被某个臭名昭著的编译器使用 SO。我们可能不得不更改 SO 标签。)
  • C 标准委员会称它为 C17,因为它是在 2017 年被他们批准的。日期戳是201710L。整个 ISO 流程还需要 6 个月才能出版,这就是另一回事了。
  • 我投票结束这个问题作为题外话,因为它不是关于编程它是关于 triminology
  • 这个应该转到 meta 吗?

标签: c c11 c17


【解决方案1】:

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

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

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

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

【讨论】:

  • 我并不是真的在问如何在 SO 上处理这个问题,这确实应该发布在 meta 上。相反,我是在询问会有哪些规范来源。 cmets 中提到的__STDC_VERSION__ 几乎回答了这个问题。
  • 话虽如此,我现在已经修复了 C、C11 和 C17 标签 wiki,因此它们是最新的 9899:2018。
  • 问题是我们应该如何称呼语言,而不是我们应该如何在 Stack Overflow 上标记相关问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-20
  • 2013-05-23
  • 2013-02-05
  • 2015-12-05
  • 2010-12-28
  • 2010-10-16
相关资源
最近更新 更多