使用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的错误报告格式,输出结果到result.txt.
为了在VC中使用方便,先建立一个bat文件,vscppcheck.bat
cppcheck --enable=all --template=vs %1 > NUL
因为只需要cerr输出,所以cout输出到NUL.
然后在 VS->工具->外部工具 中添加:
标题:cppcheck
命令:d:\jinq\vscppcheck.bat
参数:$(SolutionDir)
使用输出窗口
设好后只需点工具cppcheck菜单,就会输出代码检查结果,按<F4>可跳转到错误行。
试用结果找到了许多应该按引用传入参数却按值传参数的错误,如:
D:\Code\Server\Region\Logic\RoomMgr.cpp(20): performance: Function parameter 'sRoomName' should be passed by reference.