【问题标题】:Why open-std.org still lists C11 as the latest version of C?为什么 open-std.org 仍将 C11 列为 C 的最新版本?
【发布时间】:2020-04-08 23:08:34
【问题描述】:

我知道,最新的官方标准修订版可在:
https://www.iso.org/standard/74528.html

但是自从http://www.open-std.org-
http://www.open-std.org/JTC1/SC22/WG14/的C语言工作组相关页面
声称,就是这样,引用:

官方主页
ISO/IEC JTC1/SC22/WG14-C

目前最新更新日期为:

2020-03-30

为什么它仍然说,当前的 C 标准是 C11(不是 C17C18):

当前的 C 编程语言标准 (C11) ISO/IEC 9899 于 2011 年被 ISO 和 IEC 采用。
?

这只是该页面的维护不善吗?或者它不是官方页面,正如它声称的那样?或者工作组不将 C18 视为标准的真正版本/修订,而是对仍然是最新版本的 C11 版本的“错误修复”?

还有一个问题,可能与最初的问题有关。

网络上的不同来源将 N2176.pdf 文档称为 C18 的最新草案版本,甚至提供指向它的链接。例如,Wikipedia page about C18 为来自 www.open-std.org 的 C17 草案的存档版本提供了 link,该 pdf 文档的内容看起来像一个真正的 N2176 文档。然而,来自当前 www.open-std.org 的实际 n2176.pdf 文档: http://www.open-std.org/JTC1/SC22/WG14/www/docs/n2176.pdf 很难看,因为它是用密码锁定的。 同时可以免费查看以前修订的草稿版本。

【问题讨论】:

  • 根据The ISO page on C18,“当前标准是 ISO/IEC 9899:2018(又名 C17 和 C18)——该版本解决了 C11 报告的许多缺陷。它包含 TC(技术勘误)和不引入新的语言功能。”
  • n2176 无论如何都很烦人,ctrl-F 找不到任何带有下划线或连字符的东西
  • 你为什么不问问他们?如果你这样做了,他们会回答什么?
  • @busybee,你是对的:确实问他们是我最初想到的事情,但它看起来很荒谬,所以我决定先在这里问.由于这里的答案支持这样的假设,即提及 C11 只是过时而不是那里的预期信息,我写信给 open-std.org 提供的网站管理员地址,他们几天前回复我说他们会看看,尽管页面暂时没有变化。

标签: c standards c11 c17


【解决方案1】:

ISO 不允许委员会发布将成为标准正式版本的版本。这就是为什么我们公开发布了所有正在进行的版本,而不是最终发布的版本。如果您想了解 C17 的外观,最好看看 C17 之后的“diffmark”版本:

http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2310.pdf

【讨论】:

  • 非常感谢您的回答!我是否正确,因为 C11 和 C99 的最新草案是免费提供的,而 C17 的草案不是,这意味着 C17 草案与已发布版本的差异远小于 C11 和 C99 草案?
  • 主要问题不是为什么新标准没有在网站上发布,而是为什么页面仍然声称 C11 是“当前”标准?
【解决方案2】:

C 标准不是开放标准。您链接到的 ISO 工作组可能会也可能不会将各种草案版本作为开放标准发布。我不知道是谁打电话或何时/为什么这样做的。也许他们认为 C17 不够重要。

不过,官方标准归 ISO 所有,可从the official ISO site(或您的国家标准机构)获得。

我不确定 C17 N2176 是打算公开还是只是以某种方式从工作组“泄露”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-12
    • 2021-09-22
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 2021-07-28
    相关资源
    最近更新 更多