ITPub博客

首页 > 应用开发 > IT综合 > 一个统计源码的小工具

一个统计源码的小工具

原创 IT综合 作者:longtrue 时间:2007-06-23 10:13:05 0 删除 编辑

这篇小文躺在我的私人记事本有一小段时间,今天重看,贴上来好点。

看一个开源项目时,我喜欢了解它有多少行代码 ,因此需要一个统计的小工具,觉得下翻功夫是可能互联网上找到的。Unix里的wc可以统计文件的行数,但单用这个工具还不能满足我需求,它把所有行都计算进去,并不能略过注释和空行。但结合辅助文本处理工具,如sed, awk应该比较容易就实现这样的功能。仅需要统计.cpp, .c, .h, .pl四类文件,决定还是用C语言写一个好点,权且当作一次练习。平时动手写代码还是太少了,要多加努力才行。

程序运行时读入用户输入的路径名,然后逐个地解析路径,如是文件则验证是否合法类型文件,如是目录则深度递归遍历其下的所有子目录及文件。整个实现起来就用了两多小时,但查找bug却用了大半天。一个bug就是在统计以/*开头*/结束的多行注释,在查找以“*/”为结束时遇到了点问题,后来才发现原来是fgets()惹的祸,读取一行时最后两个字符为CRLF,应该先去掉。一个bug解决后,用多个目录测试,另一个bug又出现了,有些目录能正常工作,有些会提示段错误的出错。一般是什么原因出现这种情况的呢?高手们能告诉我吗?

初步统计了一下,snort-2.7.0beta2版的代码接近6万行了。snort第一版只有1000多行,经过十余年发展,目前已成了几万的规模。

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7406370/viewspace-920667/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 个性化emacs设置
请登录后发表评论 登录
全部评论
  • 博文量
    30
  • 访问量
    870097