怎樣生成開源專案原始碼的CHM文件
目前開源專案越來越多,例如Linux、Android、OpenCV、PCL等等。這些專案程式碼規模非常大,檔案多,要一個個檢視費時費力,而且類、函式物件之間的呼叫關係難以直觀分析。這裡向大家介紹一種通過Doxygen、Graphviz和HTML Help SDK來生成包含程式碼Call Graph等資訊的CHM文件,實現All-in-One的程式碼閱讀與分析。
具體地:
3、安裝好上面3個軟體後,開啟 Doxygen
4、在 Step1 指定Doxygen的工作目錄,即最終生成html資料夾和chm文件的路徑
5、在 Step2 的標籤Wizard 或 Expert 裡依次設定各項引數。Wizard標籤裡是專案的總體關鍵引數設定,一般設定完Wizard的引數即可生成一個包含程式碼基本資訊的chm文件;如果你需要更全面、更深入的程式碼分析資訊,例如類內部成員函式的Call Graph等等,就要在Expert標籤中進行定製。
注:以OpenCV專案(https://github.com/Itseez/opencv)程式碼為例,第4、5步的設定,可下載我在新浪微盤共享的Doxyfile檔案(http://t.cn/zYDKs0l),在Doxygen的file-open中匯入該檔案,然後修改下圖紅框處的引數或資料夾路徑即可。
6、在標籤 Run 點選 Run doxygen,在你指定的輸出路徑會生成一個 html 資料夾
7、開啟 HTML Help Workshop,在 File - Open 裡選擇上述的 html 資料夾中的 index.hhp 開啟,按下圖點選Project的Option按鈕,在彈出視窗中修改Compiled file到你所需的chm生成路徑;然後再點選 File - Compile,這樣就可以得到所需的 chm 文件了 O(∩_∩)O~
下面是我生成的OpenCV專案程式碼CHM文件,所用的設定就是上面提到的微盤共享檔案,因為設定了對整個專案所有函式物件(包括public/protected/private)的Call Graph都進行分析,生成了大量的圖片檔案,所以最終得到的CHM文件大小超過了 1.5 G,大家在匯入設定檔案後、可以試情況在Expert標籤中對個別引數進行調整,得到大小適中的CHM文件。