cppcheck是一款靜態代碼檢查工具,可以檢查如內存泄漏等代碼錯誤,使用起來比較簡單,即提供GUI界面操作,也可以與VS開發工具結合使用。
1、安裝
一般會提供免安裝版,安裝完成后將cppcheck.exe所在目錄添加到環境變量中,這樣cmd下可直接使用cppcheck指令來檢測代碼。
2、cppcheck的檢查信息
error:代碼中的錯誤項,包括內存泄漏等;
warning:為了避免產生bug而提供的編程改進意見;
style:編碼風格,提示你哪些函數沒有使用、哪些為多余代碼等;
portability:提示跨平台時容易出現的問題;
performance:該部分代碼可以優化;
information:其他信息,可以忽略;
3、控制台下使用
打開cmd,輸入cppcheck回車后會列出其支持的參數,選擇參數進行代碼檢查:
cppcheck --enable=all <dir>
- 1
該指令會列出目錄dir中的所有文件的檢查信息,若要導出檢查信息,參考如下指令:
cppcheck --enable=all <dir> > D:\detect.txt;
- 1
–enable= 有許多參數選項,詳細可參考cppckeck參數說明,依據cppcheck幫助說明建議使用all,這在掃描整個工程的全部文件時比較有用,因為其可以檢查沒有使用到的函數等。
4、單獨使用
cppcheck提供操作界面,如下圖,點擊左側C++按鍵,選擇目錄,確定后就可以自動檢測文件夾內的所有文件,默認情況下會給你列出cppcheck所支持的所有檢測信息內容,共計六項內容,點擊圖中右側選項可以選擇要顯示的內容。
5、與VS結合使用
將cppcheck嵌入到VS中作為一個外部工具,這樣就可以在程序開發階段直接進行靜態代碼錯誤檢查。
配置:
點擊VS的tools,選擇外部工具選項,添加工具,
標題:cppcheck在VS工具下的名稱;
命令:選擇cppcheck.exe,包括絕對路徑;
參數:依據cppcheck的參數進行選擇,可以使用以下幾種
–quiet –platform=win64 (ProjectDir);–enable=all(ProjectDir);–enable=all(ProjectDir);
(ProjectDir);其中第一個僅顯示檢查到的錯誤信息,其余兩個檢查所有信息;初始目錄:(ProjectDir);其中第一個僅顯示檢查到的錯誤信息,其余兩個檢查所有信息;初始目錄:(ItemDir)或者$(ProjectDir)
ItemDir是指一個單獨的文件,如果參數中選擇ItemDir,則只會檢查當前選中的文件;
勾選退出時關閉和使用輸出窗口后點擊確定,就可以將cppcheck工具添加到vs中。
使用:
點擊工具,查找到cppcheck選項,點擊后就可以在output窗口輸出檢查信息,可以得到錯誤所在文件和行數。