cppcheck是一款靜态代碼檢查工具,可以檢查如記憶體洩漏等代碼錯誤,使用起來比較簡單,即提供GUI界面操作,也可以與VS開發工具結合使用。
1、安裝
一般會提供免安裝版,安裝完成後将cppcheck.exe所在目錄添加到環境變量中,這樣cmd下可直接使用cppcheck指令來檢測代碼。
2、cppcheck的檢查資訊
error:代碼中的錯誤項,包括記憶體洩漏等;
warning:為了避免産生bug而提供的程式設計改進意見;
style:編碼風格,提示你哪些函數沒有使用、哪些為多餘代碼等;
portability:提示跨平台時容易出現的問題;
performance:該部分代碼可以優化;
information:其他資訊,可以忽略;
3、控制台下使用
打開cmd,輸入cppcheck回車後會列出其支援的參數,選擇參數進行代碼檢查:
該指令會列出目錄dir中的所有檔案的檢查資訊,若要導出檢查資訊,參考如下指令:
–enable= 有許多參數選項,詳細可參考cppckeck參數說明,依據cppcheck幫助說明建議使用all,這在掃描整個工程的全部檔案時比較有用,因為其可以檢查沒有使用到的函數等。
4、單獨使用
cppcheck提供操作界面,如下圖,點選左側C++按鍵,選擇目錄,确定後就可以自動檢測檔案夾内的所有檔案,預設情況下會給你列出cppcheck所支援的所有檢測資訊内容,共計六項内容,點選圖中右側選項可以選擇要顯示的内容。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICdzFWRoRXdvN1LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90zdORzaU1kZahUZ1Z0RhZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DO2UTMwkTNwIjMwkDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
5、與VS結合使用
将cppcheck嵌入到VS中作為一個外部工具,這樣就可以在程式開發階段直接進行靜态代碼錯誤檢查。
配置:
點選VS的tools,選擇外部工具選項,添加工具,
标題:cppcheck在VS工具下的名稱;
指令:選擇cppcheck.exe,包括絕對路徑;
參數:依據cppcheck的參數進行選擇,可以使用以下幾種
–quiet –platform=win64 (ProjectDir);–enable=all (ProjectDir);
(ProjectDir);其中第一個僅顯示檢查到的錯誤資訊,其餘兩個檢查所有資訊;初始目錄: (ItemDir)或者$(ProjectDir)
ItemDir是指一個單獨的檔案,如果參數中選擇ItemDir,則隻會檢查目前選中的檔案;
勾選退出時關閉和使用輸出視窗後點選确定,就可以将cppcheck工具添加到vs中。
使用:
點選工具,查找到cppcheck選項,點選後就可以在output視窗輸出檢查資訊,可以得到錯誤所在檔案和行數。