我想打印所有函数定义的大小。
样本文件(真实文件很大)
....
VideoChainT* ChainCtrlBuildChain(...)
{
abcd
edfg
dfdsh
}
eErrorT ChainCtrlInit(...)
{
sdgfg
dsgd
}
....
我已经使用 doxygen 将函数名称(还有更多)提取到文本文件中
函数.txt
ChainCtrlBuildChain
ChainCtrlInit
我的代码
use strict;
use warnings;
open(FILE, "< chaincontroller.c") or die $!;
my @lines = <FILE>;
open(FILE1, "< functions.txt") or die $!;
my @lines1 = <FILE1>;
foreach my $func (@lines1){
foreach my $src_line (@lines){
if ($src_line =~ /$func\([^;]+$/){ # points to function definitions
#need to extract function body into an array and get its size
}
}
}
需要输出
function ChainCtrlBuildChain has 3 lines.
function ChainCtrlInit has 2 lines.
将不胜感激这个问题的帮助,或者如果有任何其他方式..