C++ 編譯器常與編輯器捆綁於 IDE 中。選擇編輯器三大要素:
main 函式、.h 防重複引用巨集皆可自動化。鍵盤快於滑鼠,EMACS 達極致。原因:GNU 開源、對標準 C++ 支援度 96.15%(VC++6.0 僅 83.43%)。GCC 不僅編譯 C/C++,還支援 Java 等。gcc 為 GNU C 編譯器,g++ 為 GNU C++ 編譯器,EGCS 可視為 GCC 改進版。重要選項:-E 僅預處理、-S 產生組語、-g 產生帶除錯符號的可執行檔(配合 gdb 必開)。GCC 含偵錯器 gdb、效能分析 gcov/gprof,裝好即可用。
gcov:查看每行代碼執行次數,優化熱點路徑。需開啟 -fprofile-arcs -ftest-coverage。常用 -b 分支統計。gprof:查看函式呼叫順序與執行時間,time 加強版。需開啟 -pg。兩者皆在編譯時植入輔助資訊診斷程式。另可用記憶體洩漏工具減少野指標與未釋放記憶體。
GCC 附帶優質偵錯器,支援 CLI/GUI 模式(預設 CLI,可裝 xxgdb/ddd,更佳方式在 EMACS 中使用)。功能含斷點、單步追蹤、step in/out/over,另支援觀察點、捕捉點、信號、執行緒停止等強大暫停方式。