原創文章,轉載請注明出處。
工欲善其事,必先利其器。閱讀大型C++工程項目,如果有一些自動化的分析工具支持,學習的效率將大大提升。在前文中介紹了Source Insight在Linux下的安裝方法,本文將介紹C++中繼承關系的自動化生成方法。
經過調研,可用的自動化生成工具有微軟的Visual Studio,IMB的Rational Rose(UML自動化工具),以及Doxygen。VS運行在Windows下,不大習慣使用,Rational Rose在12年前接觸過,笨重無比,最后決定嘗試Doxygen。在網上學習了Doxygen的使用效果,貌似不錯。
第一步,安裝Doxygen和Graphviz。ubuntu的軟件中心非常好用,比windows還好用,這兩個軟件可以直接安裝,一分鍾內搞定。注意,Doxygen本身是命令行形式的工具,還需要安裝一個配套的UI工具。在軟件中心里能找到,一分鍾搞定。
第二步,打開Doxygen的UI工具,配置若干路徑,包括文檔生成路徑、源代碼路徑,選擇Optimize for C++,選擇用Graphviz生成圖形。配置過程按部就班,此處就不貼圖說明了。
第三步,點擊run。過程會比較漫長,我的項目有6000+個類,總共生成了大約18000幅圖,用時大約50分鍾。
生成的圖片效果很不錯,一個樣例如下所示,此圖摘自網絡。

Doxygen還可以生成其他類型的關系圖,如C的函數調用關系圖,此圖摘自網絡。

Doxygen+Graphviz有Windows版本,可以在Windows下使用。
EOF
