我的C ++静态源代码文件(已经developped,不要做任何他们需要的话)。

一包

有一个程序/ LIB /方式来获得的数目的列表PARAMS每个功能withing那些文件中的一个?

我的意思是,得到的结果如下:

#File a.cpp
##a() -> 3 paramss
##foo() -> 0 params (void)

#File b.cpp
##test() -> 1 param

....

和一个更好的问题。

有什么办法也处理返回的人数它具有?

#File a.cpp
##a() -> 3 params, 1 return
##foo() -> 0 params (void), 2 returns

例如,如果“foo”的具有一个返回,如果条件为真,另一个如果假

预先感谢。

有帮助吗?

解决方案

您可以尝试运行 Doxygen的在源文件。

由于内容是(大概)无证,需要配置 Doxygen的提取从无证文件的内容。

如果您只是想浏览可用的功能列表,你可以使用HTML的输出。

您还可以配置Doxygen的输出是XML,然后写一个解析器来拉你正在寻找每个函数的统计数据。

其他提示

我也要算多少“”和为1。这开始应该给你的函数参数的数量的准确计数。然后,我会检查,看看是否“作废”的函数名之前就存在,如果没有的话,你可以打赌,有一个返回值。

ifstream infile;
infile.open(...);
int i, ret, args;
String s;

ret = args = 0;
s = infile.getline();
for( i=0; s[i] != '('; i++ ) {
 if( s[i] == 'v' && s[i+1] == 'o' && s[i+2] == 'i' && s[i+3] == 'd' ) {
  ret = 1;
  break;
 }
}

for( i=0; s[i] != '('; i++ ) {}

for( i; s[i] != ')'; i++ ) {
 if( args == 0 && s[i] != ' ' ) {
  args++;
 }
 if( s[i] == ',' ) {
  args++;
 }
}

这一切都是在上面的方式,但也许这可能是你杯茶,的艾尔莎可以解析C ++并为您提供解析文件的抽象语法树。可能有一些其他免费工具,有可以做同样的

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top