[情報] C/C++ header dependency 工具
看板C_and_CPP (C/C++)作者zlw (www.eJob.gov.tw)時間16年前 (2009/06/29 15:28)推噓0(0推 0噓 1→)留言1則, 1人參與討論串1/2 (看更多)
主要針對 VC 的,抱歉。
--
發現有套商業軟體,台幣差不多 1200 吧,叫 IncludeManager 做得還算不錯。
直接進去開圖看就清楚囉:
http://xania.org/200712/c-plus-plus-header-dependency-tricks
--
不用額外花錢的:
1. linux 或 gcc
http://tinyurl.com/6cs2ed (stackoverflow.com: How to find header dependencies
for large scale projects on linux)
2. VC 的:
http://stackoverflow.com/questions/42308/tool-to-track-include-dependencies
簡單的提一下,doxygen (免費、多平台原始碼自動文件化工具) 可以輸出很多圖,包括
這篇說的 include header 的圖,但缺點是要在 input 的地方把所有用到的 header 檔
都放進去給 doxygen 分析,很廢工而且慢,最後輸出的結果是透過 graphviz 轉成圖片。
--
graphvix 也是免費多平台軟體,還蠻好用的,可以很快的就畫出圖,舉例來說
只要打
digraph test{
src.cpp->iostream;
src.cpp->windows.h;
iostream->istream;
istream->ostream;
}
存檔給 graphviz 的 dot (.exe) 就會自動跑出圖形檔格式 gif, png, jpg, ps, svg...
google 搜尋「graphviz」隨便挑前幾篇中文的來看,一小時內就能上手了。
※裝最新版,跑的時候會有字型問題,改裝 graphviz-2.20.3.1.msi 反而正常
而 msvc 的 cl.exe /showIncludes 可以輸出 include 檔的關係,
再將這些紀錄轉成 dot 格式讓 graphviz 轉換就也能簡單的畫出 include 圖來。
依此寫了個陽春的版本 (console)
原始碼:
http://codepad.org/mE7DCPrG (下載 boost 的 xpressive 標頭檔,設好 include 目錄
就能編譯出執行檔,不用跑 bjam 安裝 boost)
MFC 精靈建立 MDI 應用程式,跑出 svg 格式的圖:
http://www.mediafire.com/download.php?dnjmey2z2zz
(firefox可直接執行,ie要裝svg外掛,裝完可搜尋文字)
執行檔:
http://www.mediafire.com/download.php?fvzjyuum2ix
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.137.123
→
06/29 16:06, , 1F
06/29 16:06, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章