【问题标题】:Looking for C/C++ language and standard libraries specifications [duplicate]寻找 C/C++ 语言和标准库规范 [重复]
【发布时间】:2011-07-24 22:41:00
【问题描述】:

可能重复:
Where do I find the current C or C++ standard documents?

我有几本 C 书籍,其中一本《C by Discovery》很好地解释了这门语言。但到目前为止,我似乎无法找到完整的 C/C++ 语言和库标准以及函数、类型等的完整详细列表。

哪里有完整的 C99 标准以及更老的、据说更常用和接受的 C 语言标准、C++ 语言标准及其库?

其中有一些是我必须支付的,还是我应该只遵循*和 GCC 等文档引用的内容?

我还应该去哪里下载或完整获取它们?

【问题讨论】:

标签: c++ c specifications


【解决方案1】:

如果你想要实际的标准,我认为你不能只下载它。我相信你必须从美国国家标准协会购买一份副本。 GCC 文档并未提供 GCC 扩展的基础语言所需的所有详细信息。

【讨论】:

  • 有点——您必须购买最终发布标准的副本,但您总能找到未发布的草稿,它们非常接近,这并不重要(除非您正在实现完整的编译器 - - 我们大多数人只想知道语言细节)。请参阅我的答案以获取链接。
  • “如果你想要实际标准”的哪一部分不清楚?如果您不想要精确的语言细节,您可以阅读草稿。只是不要在其中扮演语言律师。
  • 您的回答暗示有“实际标准”,如果您没有,则有 GCC 文件。尚不清楚的是,有一份近乎完整的 1325 页的“实际标准”草案免费提供。
  • 我知道 GCC 文件也不够充分。
  • 是的,你在这两个方面都是对的。我的评论只是添加了实际回答问题的重要信息 - 出于所有意图和目的,规格都是免费提供的。
【解决方案2】:

*文章C99 在底部有一个指向draft of the C99 language specification 的链接。这是一个草稿,因为最终发布的版本您必须付费。但是草稿基本是准确的,所以是一个很好的参考。这是包括库在内的整个语言的极长规范,但可能不是您所追求的。要查看标准库,只需查阅手册页。请参阅 Wikipedia 文章 C standard library 以获取各种功能的列表和摘要。

对于 C++,同样如此。 Wikipedia 文章 C++ 包含指向完整规范的各种草案的链接,尤其是 2010 年的 most recent draft of C++(旧 C++,在 C++0x 生效之前)。*文章C++0x 与即将命名的 C++ 2011 标准草案有类似的链接。但是,如果您只是在寻找标准库的参考资料,则不能通过 cplusplus.com's reference section,其中包括 C 库(在 C++ 模式下)、IO 库和 STL(容器和其他杂项)的完整文档公用事业)。这就是我用作日常图书馆参考的内容。

【讨论】:

  • 是的,整个规范就是我正在寻找的(我需要一个完整的 C/C++ API 参考和用于几个目的的语言/库复杂性)。但是,我不会忽略任何其他用于测试标准概念的参考资料。感谢您的参考。
【解决方案3】:

我找到的最好的 C99 在线副本在这里:

http://busybox.net/~landley/c99-draft.html

【讨论】:

  • 看起来是一个足够好的参考,可以同时开始工作。大部分肯定是基本完整的。