源碼查看利器-利用doxygen和graphviz將源碼生成調用關係圖

  1. 介紹

Doxygen是一種開源跨平臺的,以類似JavaDoc風格描述的文檔系統,完全支持C、C++、Java、Objective-C和IDL語言,部分支持PHP、C#。註釋的語法與Qt-Doc、KDoc和JavaDoc兼容。Doxygen可以從一套歸檔源文件開始,生成HTML格式的在線類瀏覽器,或離線的LATEX、RTF參考手冊。

官網:http://www.doxygen.nl/

百科:https://baike.baidu.com/item/Doxygen/1366536?fr=aladdin

 

Graphviz(Graph Visualization)是1990年代初誕生於AT&T的Bell實驗室的一個開源的 (EPL授權)、跨平臺 的 腳本自動化繪圖軟件工具。

Graphviz使用一種稱爲dot語言的DSL(Domain Special Language)語言編寫Script File腳本文件,然後使用Layout佈局引擎解析這個Script File腳本文件完成 自動化佈局渲染 。

官網:http://www.graphviz.org/

 

Doxygen和Graphviz結合使用, 完美的讓代碼以網頁、圖形、調用關係圖圖展現出來。方便閱覽代碼。

此方法優勢: 不需要編譯代碼。根據需求,配置好參數,可利用命令直接輸出結果。

  1. 安裝

開發環境: ubuntu

$ sudo apt-get install graphviz doxygen doxygen-gui

待安裝完成後, 通過命令查看:

$ doxygen -v

1.8.11

 

  1. 轉換

    1. 啓動配置頁面

執行用命令,將出現如下界面:

$ doxywizard

    1. 配置工程信息

填寫圖中出現標註部分。點擊【Next】

 

    1. 配置模式

根據代碼語言,選擇對應項目。

 

    1. 配置輸出項

按圖中所示,設置對應項目。

 

    1. 配置圖表

這裏是用到graphViz關鍵地方。

 

    1. 配置[Expert]

語言選擇中文

[Expert]往下拉到[dot], DOT_PATH選擇爲/usr/bin。點擊【Next】

 

    1. 運行

此處可點擊【Run doxygen】, 輸出框會顯示輸出內容。

或者關閉窗口,保存配置項,通過命令生成文件。關閉窗口跳出如下框圖:

 

選擇【Save】,保存配置文件Doxyfile。

 

執行命令:doxygen Doxyfile, 待運行結束。

 

  1. 輸出文件展示

Png文件就是保存的調用關係圖, html網頁文件展示代碼及關係圖所有信息。可直接打開html網頁文件查看內容。關係圖示例:

 

  1. 其它

將源碼生成調用關係圖還有很多方式,比如:

1. drafter 在iOS項目中自動生成函數調用關係圖

https://blog.csdn.net/allanGold/article/details/89186582

2. 用Graphviz + CodeViz生成C/C++函數調用圖

https://www.cnblogs.com/lanxuezaipiao/p/3450201.html

3. source insight

利用[Relation]功能,可展示幾種關係圖:樹形,左右,上下

發佈了113 篇原創文章 · 獲贊 21 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章