Linux 中是否存在 C++ 文档?我想要 C 的手册页之类的东西。例如,字符串、stl、iostream、ifstream 等的文档?
8 回答
如果您使用 g++ 附带的“普通”libstdc++,其文档可在此处在线获得。
大多数 Linux 发行版都可以将其作为特定软件包离线使用。例如,对于 Debian 派生的发行版,它是libstdc++-6-<version>-doc
(例如在我libstdc++-6-4.4-doc
安装的 Ubuntu 机器上)。一般来说,文档会放在类似/usr/share/doc/libstdc++-6-4.4-doc
.
这是关于特定于实现的文档;相反,对于与编译器无关的文档,Internet 上的许多站点都提供标准库的参考文档。
现在引用最多的网站之一是cppreference.com,它得到了积极的维护,往往非常忠实于标准,并且很好地展示了各种标准版本之间的差异;不过,这对新手来说可能有点吓人。
cplusplus.com 在历史上是最常用的网站之一(特别是因为它非常被搜索引擎“喜欢”),但已知包含几个错误或不正确的简化;不知道这几年有没有好转。
此外,近年来,msdn.microsoft.com 上的 C++ 库部分在将 Microsoft 特定的细节与标准规定的内容区分开来方面做得更好。
最后,如果您想要精确到偏执狂,最终的规范文件是C++ 标准,从 ISO、ANSI和BSI出售(价格相当高);然而,有几个草稿是免费的,对于“临时使用”来说已经足够了。
在 Ubuntu 中,安装后libstdc++-6-x.x-doc
,这些文档可通过man
示例(libstdc++-4.8-doc)获得
man std::list
man std::weak_ptr
man std::ios_base
要获取这些条目的列表,请使用
apropos -r '^std' | vi -
此命令获取所有以开头的 man 条目std
并将它们发送到vi
.
==========
更新:从 libstdc++-4.8-doc 开始,前缀std::
是std_
.
cppman 是Github 上提供的 C++ 手册页格式化程序。
根据要求,它会从 cplusplus.com 生成联机帮助页,并且非常擅长。不过,您的联机帮助页查看器将是 cppman 而不是 man,而且您仍然需要在线。
安装手册页:
$ sudo apt-get install libstdc++6-4.4-doc
C++ 标准库记录在http://www.cplusplus.com/reference/上。您的实现可能会带来它自己的文档。例如,来自 GNU Compiler Collection 的 libstdc++ 记录在http://gcc.gnu.org/onlinedocs/libstdc++/中。查看特定库的源代码分发,以了解文档是否以及在哪里。
在 Ubuntu 上,可在包cppreference-doc-en-html (HTML) 和cppreference-doc-en-qch(Qt 帮助格式)中获得http://cppreference.com上优秀文档的离线副本。
安装:
sudo apt-get install cppreference-doc-en-html
在 RHEL 6 上,软件包在AND 手册页libstdc++-docs
中安装文档:/usr/share/doc
sudo yum install -y libstdc++-docs
现在我能:
man std::string
例如。
您需要密切注意编译器的版本;在最近的 linux 发行版上,您可能使用 g++ v4.3 或 v4.4,但一些较新的 C++0x 功能在 g++ v4.5 中,因此根据您正在使用的功能,您可以运行进入这方面的问题。