使用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.
(金庆的专栏)
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.
本文介绍如何使用Cppcheck静态分析工具检查C/C++代码中的潜在错误。通过设置bat文件及Visual Studio的外部工具,实现了快速调用Cppcheck进行代码检查,并展示了如何定位并修正一些常见问题。
3205

被折叠的 条评论
为什么被折叠?



