我有一个令人讨厌的拼写错误浪费了我的时间和我的同事的时间,它是这样的:
for (i = 0; i < blah; i++); // <- I had a semi-colon here, that's the bug! { // Some awesome logic here }
首先,这是非常尴尬的,其次,我不应该重复这一点。 我对C相对较新。在Java中,我想我可以使用FindBugs来捕获这些错误,我应该使用什么工具来代码? 皮棉?
是的, PC-Lint可能是最好的工具。
除了Lykathea的PC-Lint建议之外 ,如果提高编译器的警告级别,您还可以获得更好(或至少更多)的诊断。 像/W4
或-Wall
这样的东西
虽然我不确定你的特定问题是否会被捕获(即使启用了所有警告,MS VC也似乎没有标记它)。 我认为这是因为当作为循环控制表达式的副作用完成工作时, for
循环不是一个不常见的习惯用法。
过去从我的头脑中拯救了我的一些事情:
还要看铿锵静态分析
我将从了解splint和gdb开始 。 如果您需要更高级,请在这两个工具的基础上构建。 但他们是一个良好的开端。
GCC具有Lint通过警告标志内置的大部分function。
像Eclipse这样的任何良好的GUI编程环境(“IDE” – 集成开发环境)都会在这种情况下生成警告。
一个好的语法高亮显示器会使这样的一些案例更加明显。
我建议你看看你是否有能力执行MISRA标准 。 它们是经过深思熟虑和许多规则编写的,这些规则对于编译器来说很容易检查。 例如,我使用的规则要求所有NOP命令都有自己的行。 这意味着当你放一个; 在循环语句结束时,它将通过一个错误说明它不在它自己的行上。
编程研究的QA·C是C的另一个很好的静态分析工具。
在这个(旧的) 如何在脚中拍摄自己的版本,以及在网络上的许多其他版本中, C始终是允许最简单程序的语言。 用C语言编程时,你必须记住这一点并小心。 如果您需要保护,请选择其他语言。
这句话归功于 Bjarne Stroustrup(C ++)本人。 致(错)引用:
“C让你很容易在脚下射击”
需要了解更多c/c++开发分享任何捕捉C代码中愚蠢错误的工具?,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!
以上就是c/c++开发分享任何捕捉C代码中愚蠢错误的工具?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/979153.html