【问题标题】:Where is actual standard for open-source C compilers (gcc, clang) that they implement? [duplicate]他们实现的开源 C 编译器(gcc、clang)的实际标准在哪里? [复制]
【发布时间】:2017-01-04 16:37:31
【问题描述】:

我想了解更多关于 C 的知识,而不是通过一本关于 C 的书的形式重新讨论,我想阅读“编译器实际实现的标准”。这似乎是 ISO/IEC 9899:2011 文件,目前可在其网站上以 198 瑞士法郎的价格获得。

这让我很困扰,因为经过快速搜索后,我意识到“C11”标准似乎并未公开。 Open-std.org 仅将 this document 列为“......反映了发布时将成为标准的内容。”,但不是实际标准。

现在我的问题:

  • 开源编译器(尤其是 clang 和 gcc)究竟实现了哪个标准?
  • 我在哪里可以找到这个标准?

如果开源编译器实现了不公开的标准:

  • 究竟为什么开源编译器要实现非公共标准?这是否不会极大地阻止人们贡献代码或完全理解代码,我认为这是开源的目的。考虑到所有时间都花在编码上然后分发代码,当然可以花一些时间来编写标准而不是代码。

【问题讨论】:

  • 他们的标准委员会不得不为标准收费,因为标准化是如何运作的。他们正在努力使实际标准免费而不是收费。也就是说,您可以通过在标准发布之前发布的草案。这在 99.9% 的情况下都是正确的。此外,如果您真的想了解细节,为标准付费并不是什么大不了的事。这是一本好教科书的成本。
  • 我投反对票的原因:google.hu/search?q=c+standard+stackoverflow
  • 这一半是骗人的,一半是缺乏阅读编译器文档的,一半是关于如何一切都应该不花钱消费的离题咆哮。是的,三分之二:D
  • @DimBimJim 我怀疑任何编译器都 100% 符合标准,但他们试图做到。至于实施什么标准,它实际上是多重的。它由 -std=c99-std=c11 等编译器标志控制,因此您可以在同一编译器上将相同的代码编译为不同的标准。
  • @KarolyHorvath,谢谢你给我谷歌搜索,我显然猜对了文件的价格。

标签: c++ c gcc clang standards


【解决方案1】:

请参阅以下文章:

The Standard

当前的 ISO C++ 标准正式称为 ISO 国际标准 ISO/IEC 14882:2014(E) – 编程语言 C++。

...

问:当标准必须从 ISO 或其他标准组织购买时,为什么 C++ 工作草案可以在 GitHub 上免费获得?

ISO 拥有标准的所有投票草案以及标准本身的版权。 GitHub 存储库包含正在编辑的增量正在进行的工作源快照,这不是最终标准。

唯一不允许 C++ 委员会免费提供的文档是最终发布的标准。 GitHub 上的存储库草案不包含任何已发布标准的最终来源。它仅包含临时工作材料,其内容与已发布的标准有所不同。

Where can you get the ISO C++ standard, and what does “open standard” mean?.

今天的问题来自最近有人问,如果 ISO C++ 是一个开放标准,为什么 ISO 会对其收费,而我们不能只是免费下载。

简短的回答是,人们有时会将“开放”与“免费”混淆。 ISO 标准不像 FOSS 中的 O 那样“开放”,它们是“开放”的,就像“不是闭门造车”一样。任何想要为其国家机构成员付费的人(如果他们的国家参与 ISO 和相关的特定项目)都可以参与其中。就啤酒免费而言,这意味着欢迎专家自费来到 ISO 啤酒厂,自愿花时间帮助酿造啤酒,然后当啤酒准备好后,客户仍需支付 ISO 费用才能饮用它(帮手们没有分得一杯羹,只有免费的一瓶供他们个人使用,以及酿造了一个强大的好酒桶的满足感)。

...

ISO C++ 声称是一个开放标准。我在哪里可以下载 ISO C++ 的开放标准。

所有已发布的 ISO 标准均可从 ISO 商店通过http://iso.org 购买。

因此,虽然官方标准是public,但最终版本不是免费,只有工作草案和其他中间文件是。您必须付费才能访问最终标准(除非您找到盗版副本)。

【讨论】:

  • 这个问题(现在作为副本关闭)询问了 C 和 C++。两者的情况恰好相似。
猜你喜欢
  • 2016-07-06
  • 2018-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-16
  • 2021-04-29
  • 2018-07-09
  • 2017-09-24
相关资源
最近更新 更多