回忆 C/C++ 源码统计分析小工具
2018-05-26 本文已影响0人
wenfh2020
偶尔整理文件,发现了从业第一家公司,做的培训结业项目:源码分析工具。
时间飞逝,回首过去,感激良多。现在很少有企业有耐性,培训一个员工半年才让上岗了。
培训结业项目,三个人作为小组,用公司的基本类库,做了一个源码分析工具。
从需求分析,软件设计,文档落地,功能实现,提交打回反复修订。一个月时间大家相互协作,走完了整个软件开发流程,那时候我才真正明白,什么叫做团队合作,而且这种软件的流程思维,和严谨的工作态度,至今仍深深地影响着我。
分析工具
工具实现主要需求:
1、统计分析 C/C++ 代码,.h, .cpp, .c 三种文件。
2、统计文件的个数,每个文件的声明个数,每个文件的函数实现个数。
3、每个文件,函数的平均行数。
4、每个文件,函数最大行数的行数数目。
功能大致实现原理:
对源码文件的分析,根据C/C++ 源码函数实现和声明的特点。
源码文件,主要是处理注释行,空白行,空白符,花括号,函数类型,等等的处理。
int func();
int func() {}
例如上面函数的特征:
int 是变量类型,中间有空格,或者 tab 等空白符,变量名称 “func”后面紧跟 圆括号配对,就是一个声明或者函数。
如果直接是右圆括号“)” + ";" 这样的格式,就可以确定它为声明。
如果是 右圆括号“)” + "{" 就确定它为函数。当然函数内部也会存在很多花括号,主要都是这些特殊字符的配对分析。
上述的源码统计分析处理流程,只是粗略的分析统计,更多的实现细节策略是在源码调试分析中,处理的。
更精彩内容,请关注我的博客:https://wenfh2020.com