主题:求方法 ,从.c 文件中提取所有函数体的函数名
wd5426ming
[专家分:0] 发布于 2012-09-19 22:51:00
如题。。。。
想写个东西,里面要实现从一个.c文件中读取函数名,
谁有没有简单有效的方法来判断????
还有就是从文件夹内读取出所有.c 文件。。。。有什么系统函数么?
求教了。。。
回复列表 (共4个回复)
沙发
fragileeye [专家分:1990] 发布于 2012-09-20 22:02:00
从未知的.c文件中读取函数名,要求函数名所在行有特殊的形式,比如
void rtn_nothing(); //这就看lz怎么解析了。
如果这些文件是你自己写的话,函数声明完全可以放在.h文件中,这样相对来讲会方便很多。
从文件夹内读取所有.c文件,印象中没有相应的系统函数,递归遍历文件夹中文件自己读取文件名,解析后缀,这一点都不难、
板凳
wd5426ming [专家分:0] 发布于 2012-09-21 00:02:00
恩 解析文件名后应该不难。。。。
至于那解析函数名要求有任意性的,由于我只读.c文件,不读头文件的,我要计算一个.c文件中所有函数的圈复杂度,输出是函数名和其对应的复杂度。
而 函数体的前缀也不一定是只有 那些关键字,也可以是些自定义类型,
函数头也不一定就一行写完,或许多行。。。
情况比较多。。。
所以没有一个很好的方法去解决
3 楼
fragileeye [专家分:1990] 发布于 2012-09-21 12:30:00
类型不是问题,type func_name();
个人觉得解析这个func_name的话括号可以作为一个参考点,当然func_name可以是宏名。没仔细考虑过这个问题,不太清楚其他参考点。
4 楼
wd5426ming [专家分:0] 发布于 2012-09-22 01:20:00
顶起^_^
我来回复