看板 C_and_CPP 關於我們 聯絡資訊
主要針對 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
tinlans:.....從沒想過這東西還有人在賣要錢的。 06/29 16:06