前言
在Linux編寫或者編譯C代碼的時候,直接使用man命令就可以查看該函數的使用手冊,非常方便,如:
man 3 sleep
但是一般卻沒有C++的函數手冊,怎麼把C++的幫助手冊也裝在機器上呢?
本文藉助C++手冊的安裝,說明如何自助安裝man手冊。
man原理
如果你還不習慣使用man命令或者不清楚man命令的作用,那麼建議你先看看這篇《linux必學命令-man》。
安裝C++手冊
主要步驟如下:
-
下載手冊
-
安裝手冊
-
使用手冊
下載
安裝的第一步自然是先下載手冊。
可以先進入下面一個鏡像網站:
http://gcc.gnu.org/mirrors.html
進入之後發現有很多站點,隨意進入一個,假設進入:
http://mirror.linux-ia64.org/gnu/gcc
找到libstdc++/doxygen,即可選擇下載你需要的手冊。注意選擇帶有man的壓縮包,如我選擇下載的是:
libstdc++-api.20140403.man.tar.bz2
安裝
所謂安裝也不過是將下載好的手冊文件解壓到指定位置。還記得在《速查手冊-man》介紹各個手冊的區別嗎?由於我們的是庫函數手冊,因此最好把它放在3處。
於是,我們解壓:
$ tar -xvf libstdc++-api.20140403.man.tar.bz2
解壓後的文件會在libstdc++-api.20140403.man下,爲了避免和其他的手冊文件混在一起,我們重新創建一個目錄:
$ mkdir -p /usr/local/cpp/man #可能需要root權限執行
此時將其拷貝到上面的目錄下:
$ cp -rf ./libstdc++-api.20140403.man/man3 /usr/local/cpp/man/
但是我們發現此時仍然找不到手冊:
$ man std::cout
No manual entry for std::cout
原因也很簡單,這和我們執行普通命令類似(參考《爲什麼執行自己的程序要在前面加./》),它在要搜索的路徑中找不到我們的手冊。那我們在哪裏添加的呢?
我們可以通過man命令查看man手冊的FILES部分:
$ man man
FILES
/etc/man_db.conf
man-db configuration file.
所以對於我的機器來說,我需要在/etc/man_db.conf中添加路徑
找到MANDATORY_MANPATH相關行,添加新行:
MANDATORY_MANPATH /usr/local/cpp/man
這樣就可以了。
我們來試一下:
$ man std::count
No manual entry for std::count
爲什麼還是沒有呢?,你查看一下/usr/local/cpp/man/man3下的文件都是什麼名字就明白了:
$ ls /usr/local/cpp/man/man3/* |more
std::iostream.3
原來還要帶上命名空間和頭文件的名字,例如:
$ man std::map
然後再使用搜索功能:
$ /size #左斜槓可以搜索,這裏搜索size
看起來好像也沒那麼方便啊……
這裏說明一下,C++中有命名空間的概念,不同的類中可能有相同名稱的成員函數,因此直接查看某個函數的手冊,也是很難準確找到的。
突然覺得下載一個html或者pdf的手冊好像也挺方便的了,可自行體驗。
在線手冊
在線手冊的好處就是,它能比較清晰地看到各個版本的C++相關特性。這裏主要推薦兩個
https://en.cppreference.com/ 英文
https://zh.cppreference.com/ 中文
www.cplusplus.com
從中搜索就可以啦。
對於linux命令和C庫函數,基本使用man進行查看,但是對於C++,不管你用不用,反正我是用在線的。
當然了,如果你使用chrome瀏覽器的話,還可以配置一下,地址欄輸入C即可直接搜索。
設置方法:
找到設置-管理搜索引擎,添加內容
中文版:
https://zh.cppreference.com/mwiki/index.php?title=Special:%E6%90%9C%E7%B4%A2&search=%s
英文版:
https://en.cppreference.com/mwiki/index.php?title=Special:Search&search=%s
添加內容如下圖:
如果你已經在這兩個網站搜索過,你還可以在其他搜索引擎中看到這樣的內容:
這個時候你只需要編輯裏面的關鍵字,設置成自己喜歡的就可以了,如C。
添加之後,在chrome地址欄輸入c,按tab鍵,即可出現:
手邊手冊
要麼就是買一本大頭手冊《C++標準庫》。
當然也可以在公衆號【編程珠璣】後臺回覆【C++標準庫】獲取電子版,僅供學習交流。
總結
本文旨在引導如何自助安裝手冊,其步驟也簡潔明瞭:
-
下載手冊
-
解壓手冊
-
放到特定位置
-
讓man能夠找到
你一般是如何查看函數的幫助手冊的,歡迎留言分享。原文鏈接
首發:公衆號【編程珠璣】
作者:守望先生
ID:shouwangxiansheng
推薦閱讀:
關注公衆號【編程珠璣】,獲取更多Linux/C/C++/算法/計算機基礎/工具等原創技術文章。後臺免費獲取經典電子書和視頻資源