看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《proach (pazroach)》之銘言: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) win32 問題(Question): 有時會接手一些別人寫好的 project, 裡面會有幾十個 .c 與 .h檔 是否有工具可以分析整個 project 內的 source code, 找出 每個變數與 function的定義,在那邊被使用過? 甚至可以找出一些 functions 之間的關連,例如 funcA( )內會呼叫 funcB( )與 funcC( ), 做出類似流程圖的效果? 有這種工具的話,應該可以降低接手陌生專案的難度吧 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.248.139.138
EdisonX:(1)doxygen+graphviz(2)vc:檢視->(呼叫階層,類別檢視器) 06/20 12:15
shadow0326:找個有這類功能的IDE就好 visual studio之類 06/20 12:16
EdisonX:有興趣可參考一下 http://ppt.cc/IUfP ,很多ide都有。 06/20 12:22
james732:可以的話,問上一個維護的人是最快的...XDDD 06/20 12:34
BlazarArc:上面那個有用的話幹嘛要容易maitain跟注重code style XD 06/20 13:09
james732:因為常常會遇到"不可以"的情況啊...XDD 06/20 14:02
saxontai:不就是Source Insight、ctags、cscope、GNU Global這些? 06/20 14:14
hilorrk:推一樓和樓上 06/20 18:33
感謝諸位給予建議的高手 :) 但我最後的解決方法非常好笑又沒有效率,我突然想到以前有個程式叫做 ultraedit 好像有個從小都不懂拿來幹嘛的 Search --> Find In Files 拿來試一下成功了 Find 輸入想找的 function name In Files/Type 輸入 *.c Directory 輸入專案所在位置 幾秒鐘後,他列出了該關鍵字所在的檔案位置,敲一下位置就開啟檔案,跳到 該位置,這樣...起碼加速看程式碼的速度 orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.184.43
Ting1024:zzz...這......... 06/23 16:32
Ting1024:似乎本來就是這樣阿..ultraedit 超好用 06/23 16:33
kakar0to:source insight比ultraedit好用太多... 06/23 16:48
james732:source insight真的好很多,它可以把呼叫函式給圖形化 06/23 16:52
hilorrk:其實我偶爾也會用 find/grep 來找XD 06/23 17:04
stonehomelaa:windows上可用 vim + ctags + cscope 有效率多了 06/23 17:38
stonehomelaa:只不過要學一下怎麼操作 06/23 17:40
stonehomelaa:我想起來有同事在用Source Navigator NG 你可以試試 06/23 17:46
loveme00835:好grep, 不用嗎? 06/23 17:51
eejimchan:推source insight 大型專案超好trace的 06/23 20:11
diabloevagto:source insight付費Orz 06/23 20:20
hilorrk:什麼! source insight 原來要...(摀嘴抓走 06/23 20:35
vocaloid:↑ XDD 06/23 21:08
diabloevagto:source insight 好像都用來看程式,有用來寫程式嗎? 06/23 21:16
stonehomelaa:敝公司超小器 沒有買source insight 只能找免費的用 06/23 22:14
saxontai:Eclipse for C/C++ 跟 SlickEdit 也不錯,後者較冷門。 06/23 23:47
saxontai:Source Navigator 以前試過,parsing 太久,不知改善沒 06/23 23:48
saxontai:vim 大多搭 ctags cscope,其實搭 GNU Global 也不錯。 06/23 23:49
saxontai:GNU Global 另一個好處是有 HTML 輸出。 06/23 23:50
saxontai:HTML 輸出 Demo:http://goo.gl/66WVd 06/23 23:51
saxontai:@diabloevagto: 我用 Source Insight 寫程式好多年。XD 06/23 23:53
james732:Source Insight當然可以寫,只是編譯除錯是另一回事...XD 06/24 00:01
diabloevagto:看來我還是繼續用codeblocks寫... 06/24 11:29
diabloevagto:編譯還好,debug挺重要的0.0 06/24 11:30
saxontai:我會用SI寫/Trace程式,用IDE來debug。兩者不衝突啊。 06/24 12:37
diabloevagto:我功力不足,需要編寫邊debug... 06/24 12:51
adxis:gprof bin | gprof2dot.py | c++filt | dot -Tpng -o cg.png 06/25 14:41
adxis:上面可以畫出執行過程的 callgraph (gprof2dot google 一下 06/25 14:42