使用cppcheck檢查代碼
(金慶的專欄)
Cppcheck is an static analysis tool for C/C++ code.
cppcheck主頁:
http://cppcheck.sourceforge.net/
使用說明見:
http://cppcheck.sourceforge.net/manual.html
下載安裝cppcheck后, 可以如下測試:
d:\temp\cppcheck --enable=all --template=vs d:\Code\Server 2>d:\temp\result.txt
打開所有檢查項,使用VS的錯誤報告格式,輸出結(jié)果到result.txt.
為了在VC中使用方便,先建立一個bat文件,vscppcheck.bat
cppcheck --enable=all --template=vs %1 > NUL
因為只需要cerr輸出,所以cout輸出到NUL.
然后在 VS->工具->外部工具 中添加:
標(biāo)題:cppcheck
命令:d:\jinq\vscppcheck.bat
參數(shù):$(SolutionDir)
使用輸出窗口
設(shè)好后只需點工具cppcheck菜單,就會輸出代碼檢查結(jié)果,按<F4>可跳轉(zhuǎn)到錯誤行。
試用結(jié)果找到了許多應(yīng)該按引用傳入?yún)?shù)卻按值傳參數(shù)的錯誤,如:
D:\Code\Server\Region\Logic\RoomMgr.cpp(20): performance: Function parameter 'sRoomName' should be passed by reference.
(金慶的專欄)
Cppcheck is an static analysis tool for C/C++ code.
cppcheck主頁:
http://cppcheck.sourceforge.net/
使用說明見:
http://cppcheck.sourceforge.net/manual.html
下載安裝cppcheck后, 可以如下測試:
d:\temp\cppcheck --enable=all --template=vs d:\Code\Server 2>d:\temp\result.txt
打開所有檢查項,使用VS的錯誤報告格式,輸出結(jié)果到result.txt.
為了在VC中使用方便,先建立一個bat文件,vscppcheck.bat
cppcheck --enable=all --template=vs %1 > NUL
因為只需要cerr輸出,所以cout輸出到NUL.
然后在 VS->工具->外部工具 中添加:
標(biāo)題:cppcheck
命令:d:\jinq\vscppcheck.bat
參數(shù):$(SolutionDir)
使用輸出窗口
設(shè)好后只需點工具cppcheck菜單,就會輸出代碼檢查結(jié)果,按<F4>可跳轉(zhuǎn)到錯誤行。
試用結(jié)果找到了許多應(yīng)該按引用傳入?yún)?shù)卻按值傳參數(shù)的錯誤,如:
D:\Code\Server\Region\Logic\RoomMgr.cpp(20): performance: Function parameter 'sRoomName' should be passed by reference.