我想看看有多少goto
指令是在一个c + +项目。现在,我使用的是简单的匹配与grep
搜索"goto "
:找到有多少gotos是在一个c + +项目
grep -r --exclude-dir "third_party" --include "*.cpp" --include "*.h" --include "*.C" --include "*.cxx" --include "*.hcc" --include "*.c" --include "*.cc" "goto " .
我得到了很多的假阳性,尤其是里面的评论:
// Perform stack overflow check if this goto needs it before jumping.
或里面的文字:
stream->Add(" goto (");
避免它们的最简单方法是什么?我不需要一个完美的解决方案。
你特别需要最简单的方法吗?或者*任何*提供正确答案的方式就足够了? – 2013-03-07 16:59:39
“goto”的所有实例都在单行上吗?如果是这样,一个简单的正则表达式应该可以工作,比如'^ \ s * goto \ s。*'。 – 2013-03-07 16:59:47
将所有'goto'字符串替换为'gotozzz',编译并计算编译错误的数量。 – 2013-03-07 17:00:02