標籤:win str string format 初始 tty ++ log ext
cppcheck是一款靜態代碼檢查工具,可以檢查如記憶體流失等代碼錯誤,使用起來比較簡單,即提供GUI介面操作,也可以與VS開發工具結合使用。
1、安裝
一般會提供免安裝版,安裝完成後將cppcheck.exe所在目錄添加到環境變數中,這樣cmd下可直接使用cppcheck指令來檢測代碼。
2、cppcheck的檢查資訊
error:代碼中的錯誤項,包括記憶體流失等;
warning:為了避免產生bug而提供的編程改進意見;
style:編碼風格,提示你哪些函數沒有使用、哪些為多餘代碼等;
portability:提示跨平台時容易出現的問題;
performance:該部分代碼可以最佳化;
information:其他資訊,可以忽略;
3、控制台下使用
開啟cmd,輸入cppcheck斷行符號後會列出其支援的參數,選擇參數進行代碼檢查:
cppcheck --enable=all <dir>
該指令會列出目錄dir中的所有檔案的檢查資訊,若要匯出檢查資訊,參考如下指令:
cppcheck --enable=all <dir> > D:\detect.txt;
–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視窗輸出檢查資訊,可以得到錯誤所在檔案和行數。
c++代碼偵查工具