常見閱讀代碼的工具有 , visual c++, visual studio + va(visual assistant), 以及 source insight, 這幾個功能強大的收費軟件 , 目前用得非常多 , 尤其是 Source Insight( 以下簡稱 SI), 是一個不錯的跨平臺的軟件 . 今天推薦的 Eclipse C++ 版本 , 同樣也是一個優秀的開源閱讀代碼的工具 , 其優越性有甚於 SI, 表現在以下幾點 .
1. 支持正則表達式快速定位源文件 (SourceInsight 不支持快捷通配符 ) ,
2. 快速發現類之間的繼承關係 , 並圖形化顯示 (vs2005 和 sourceInsight 無此功能 ) ,
3. 快速找到函數間的調用關係 (SourceInsight 無此功能 ).
4. 其它 SourceInsight 提供的功能基本都支持得不錯 .
5. 開源並且免費
6. 跨平臺軟件
首先展示一下這幾大不錯的功能 .
1. 支持正則表達式定位資源文件 .
如圖 , 支持正則表達式 ( 如 * 通配符 ) 的方式查詢文件 ( 快捷鍵 ctrl+shift+R).
2. 快速發現類之間的繼承關係 , 並圖形化顯示
如圖 : 選擇類名稱 , 然後按 (ctrl+T)
3. 快速找到函數間的調用關係
選擇函數名稱 , 然後按 (ctrl+ALT+ H)
4. 刷選一個 .h 或者 .cpp 文件中的函數名稱或者全局變量
Eclipse CDT 提供了類似 SI 的 Outline 窗口,可以看到全部的源文件的結構 , 除此之外,還可以提供給一個可刷選的彈出框 , 同樣也可以接受正則表達式 :
5. 總結 , 優點 .
a) 順推方式下 , SI 和 Eclipse CDT 的功能上沒有區別
b) 回溯方式 Eclipse CDT 優於 SI( 查找父類 , 查找調用關係 )
c) 免費和跨平臺
源碼閱讀過程
如果需要分析源文件,可以按照以下步驟來進行 :
1. 建立一個空的 C/C++ 工程
2. Import 待分析源文件的路徑位置 :
然後選中位置 :
3. 點擊 Finish 之後,源碼分析就開始了 , 這樣的分析可以透徹到任何文件,包括二進制的 DLL 文件 .
4. 待文件分析完畢 , 即可以對源碼進行閱讀 . 可以導入不同位置的源碼
5. 在 VS/VC 的工作環境中 , 可通過 Eclipse CDT 編寫源碼, 利用 VS 編譯運行。
快捷鍵總結
1. 查找聲明 : F3 ( 或者 Ctrl 加鼠標左鍵點擊 )
2. 頭文件和源文件切換 . Ctrl +Tab
3. 查看類繼承關係圖 Ctrl +T
4. 查找源文件 Ctrl +Shift+R
5. 查找字段 Ctrl +H
6. 查找文件的函數或者全局變量 Ctrl +O
7. 查找被引用的位置 Ctrl + Shift + G