Linux自主安装C++man手册

前言

在Linux编写或者编译C代码的时候,直接使用man命令就可以查看该函数的使用手册,非常方便,如:

1
man 3 sleep

但是一般却没有C++的函数手册,怎么把C++的帮助手册也装在机器上呢?

本文借助C++手册的安装,说明如何自助安装man手册。

man原理

如果你还不习惯使用man命令或者不清楚man命令的作用,那么建议你先看看这篇《速查手册-man》。

安装C++手册

主要步骤如下:

  • 下载手册
  • 安装手册
  • 使用手册

下载

安装的第一步自然是先下载手册。
可以先进入下面一个镜像网站:

1
http://gcc.gnu.org/mirrors.html

进入之后发现有很多站点,随意进入一个,假设进入:

1
http://mirror.linux-ia64.org/gnu/gcc

找到libstdc++/doxygen,即可选择下载你需要的手册。注意选择带有man的压缩包,如我选择下载的是:

1
libstdc++-api.20140403.man.tar.bz2

安装

所谓安装也不过是将下载好的手册文件解压到指定位置。还记得在《速查手册-man》介绍各个手册的区别吗?由于我们的是库函数手册,因此最好把它放在3处。

于是,我们解压:

1
$ tar -xvf libstdc++-api.20140403.man.tar.bz2

解压后的文件会在libstdc++-api.20140403.man下,为了避免和其他的手册文件混在一起,我们重新创建一个目录:

1
$ mkdir -p /usr/local/cpp/man #可能需要root权限执行

此时将其拷贝到上面的目录下:

1
$ cp -rf ./libstdc++-api.20140403.man/man3 /usr/local/cpp/man/

但是我们发现此时仍然找不到手册:

1
2
$ man std::cout
No manual entry for std::cout

原因也很简单,这和我们执行普通命令类似(参考《为什么执行》),那我们在哪里添加的呢?
我们可以通过man命令查看man手册的FILES部分:

1
2
3
4
$ man man
FILES
/etc/man_db.conf
man-db configuration file.

所以对于我的机器来说,我需要在/etc/man_db.conf中添加路径
找到MANDATORY_MANPATH相关行,添加新行:

1
MANDATORY_MANPATH /usr/local/cpp/man

这样就可以了。

我们来试一下:

1
2
$ man std::count
No manual entry for std::count

为什么还是没有呢?,你查看一下/usr/local/cpp/man/man3下的文件都是什么名字就明白了:

1
2
$ ls /usr/local/cpp/man/man3/* |more
std::iostream.3

原来还要带上命名空间和头文件的名字,例如:

1
$ man std::map

然后再使用搜索功能:

1
$ /size()

看起来好像也没那么方便啊……
这里说明一下,C++中有命名空间的概念,包括不同的类中可能有相同名称的成员函数,因此直接查看某个函数的手册,也是很难准确找到的。

突然觉得下载一个html或者pdf的手册好像也挺方便的了,可自行体验。

在线手册

在线手册的好处就是,它能比较清晰地看到各个版本的C++相关特性。这里主要推荐两个

1
2
3
https://en.cppreference.com/ 英文
https://zh.cppreference.com/ 中文
www.cplusplus.com

从中搜索就可以啦。

对于linux命令和C库函数,基本使用man进行查看,但是对于C++,不管你用不用,反正我是用在线的。

当然了,如果你使用chrome浏览器的话,还可以配置一下,地址栏输入C即可直接搜索。

设置方法:
找到设置-管理搜索引擎,添加内容

中文版:

1
https://zh.cppreference.com/mwiki/index.php?title=Special:%E6%90%9C%E7%B4%A2&search=%s

英文版:

1
https://en.cppreference.com/mwiki/index.php?title=Special:Search&search=%s

添加内容如下图:

如果你已经在这两个网站搜索过,你还可以在其他搜索引擎中看到这样的内容:

这个时候你只需要编辑里面的关键字,设置成自己喜欢的就可以了,如C。

添加之后,在chrome地址栏输入c,按tab键,即可出现:

手边手册

要么就是买一本大头手册《C++标准库》。

当然也可以在公众号【编程珠玑】后台回复【C++标准库】获取电子版,仅供学习交流。

总结

本文旨在引导如何自助安装手册,其步骤也简洁明了:

  • 下载手册
  • 解压手册
  • 放到特定位置
  • 让man能够找到
守望 wechat
关注公众号[编程珠玑]获取更多原创技术文章
出入相友,守望相助!