快速了解別人程式的利器-doxygen+graphviz
每個人在接收別人的程式時,因為設計風格不同,造成程式上了解的困難,尤其大多程式都在檔案間跳來跳去(include),有時為了查一個自訂function的說明,查了好幾層的程式都還找不到,等找到時已經暈頭轉向。這時,是否能有夠一張圖能夠直接幫你分析這些程式的架構,以及每個檔案的相關性呢?也許程式小一點,原設計者還會畫流程圖或方塊圖給你,但如果程式很龐大那就幾乎是不可能的任務了。
當然有人有苦惱,就一定會有人想解決,這就是doxygen了!doxygen可以幫你分析你的程式架構,配合安裝graphviz利用圖片來顯示,讓你一目瞭然,一下就對新程式的架構能快速的了解喔。 graphviz這個軟體本身的功能就能夠提供你畫出方塊圖,而doxygen也正是借重了graphviz這個主要的功能。
下載安裝完doxygen及graphviz後,開始來測試一下吧:
圖中Leo_report為輸出資料夾,Leo_Code為原始碼的資料夾
設定輸出模式,在此我設定為C or PHP模式
設定Output,選擇function
在Diagrams中,記得選到Graph Viz package,並把下面的選項都勾選,才會使用graphviz的圖形功能喔
切換到Expert,在Build選項中勾選需要的項目
切換到Run,按下[Run doxygen]就會開始產生報告檔,完成後再按下[Show HTML output]就可以看到分析囉!!
這個畫面會因為程式的複雜度不同而會多出不同的項目,因為這個測試程式很簡易,因此只看到兩個選項。在List中可以看到所有的程式,點選就可以看到檔案的內容及相關性喔。
比如點選main.c就可以看到他連結到了那些header檔,而這些header檔又連到那些header,非常清楚
當然也可以點選header檔,了解那些檔案連結到這個header檔
綜合來說,這個軟體實在是太神奇了,而且重點是free不用錢,真的是很"干心",有興趣的話就下載來玩看看吧。
網路資料:Graphviz 筆記
網路資料:doxygen wiki
graphviz下載:http://www.graphviz.org/Download_windows.php
doxygen下載:http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc
留言列表