快速了解別人程式的利器-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

 

arrow
arrow
    全站熱搜

    Leo 發表在 痞客邦 留言(0) 人氣()