利用Eclipse CDT 閱讀C/C++程式碼

x-teamer團隊發表於2010-10-25

常見閱讀程式碼的工具有 , 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

 

 

延伸閱讀:

[1] 將 Visual Studio C 和 C++ 專案遷移到 Eclipse CDT

相關文章