回忆 C/C++ 源码统计分析小工具

偶尔整理文件,发现了从业第一家公司,做的培训结业项目:源码分析工具。

时间飞逝,回首过去,感激良多。现在很少有企业有耐性,培训一个员工半年才让上岗了。

培训结业项目,三个人作为小组,用公司的基本类库,做了一个源码分析工具。

从需求分析,软件设计,文档落地,功能实现,提交打回反复修订。一个月时间大家相互协作,走完了整个软件开发流程,那时候我才真正明白,什么叫做团队合作,而且这种软件的流程思维,和严谨的工作态度,至今仍深深地影响着我。


工具实现主要需求:

1、统计分析 C/C++ 代码,.h, .cpp, .c 三种文件。

2、统计文件的个数,每个文件的声明个数,每个文件的函数实现个数。

3、每个文件,函数的平均行数。

4、每个文件,函数最大行数的行数数目。

功能大致实现原理:

对源码文件的分析,根据C/C++ 源码函数实现和声明的特点。

源码文件,主要是处理注释行,空白行,空白符,花括号,函数类型,等等的处理。

int func();
int func() {}
例如上面函数的特征:

int 是变量类型,中间有空格,或者 tab 等空白符,变量名称 “func”后面紧跟 圆括号配对,就是一个声明或者函数。

如果直接是右圆括号“)” + ";" 这样的格式,就可以确定它为声明。

如果是 右圆括号“)” + "{" 就确定它为函数。当然函数内部也会存在很多花括号,主要都是这些特殊字符的配对分析。

上述的源码统计分析处理流程,只是粗略的分析统计,更多的实现细节策略是在源码调试分析中,处理的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值