【C++】cppcheck 左手的ㄟ右手 2022-06-08 09:25 158阅读 0赞 ## 1、简介 ## `cppcheck`是一款用于`C/C++`的代码静态检查工具,与编译器和其它的分析工具不同,`cppcheck`不检查代码中的语法错误,主要目的是检查编译器在正常情况下发现不了的错误,即代码中真正的错误或者说运行时错误,也就是计算机术语中的`zero false positives`,如越界操作、内存泄漏、空指针引用、变量未初始化等等。 ## 2、示例 ## `test.c`示例代码如下: int main() { char a[10]; a[10] = 0; return 0; } 执行cppcheck: $ ./cppcheck test.c 结果: Checking test.c ... [test.c:4]: (error) Array 'a[10]' accessed at index 10, which is out of bounds. cppcheck检查结果显示代码第10行数组越界。 3、参考 【Cppcheck】[http://cppcheck.net/][http_cppcheck.net] 【cppcheck检查列表】[https://sourceforge.net/p/cppcheck/wiki/ListOfChecks/][https_sourceforge.net_p_cppcheck_wiki_ListOfChecks] 【cppcheck manual】[http://cppcheck.sourceforge.net/manual.html][http_cppcheck.sourceforge.net_manual.html] [http_cppcheck.net]: http://cppcheck.net/ [https_sourceforge.net_p_cppcheck_wiki_ListOfChecks]: https://sourceforge.net/p/cppcheck/wiki/ListOfChecks/ [http_cppcheck.sourceforge.net_manual.html]: http://cppcheck.sourceforge.net/manual.html
还没有评论,来说两句吧...