功能原型过滤器

时间:2013-04-05 10:52:55

标签: c function

是否有任何类型的工具只显示给定源文件的函数原型? 我知道Doxygen正在做这样的事情,但我发现的是一个简单的Linux命令,如

$ filter-function-prototypes main.c
1: print_hello()
2: main()

其中main.c以

的形式给出
#include <stdio.h>
void print_hello() {
    printf("hello, world\n");
}

int main()
{
    print_hello();
}

2 个答案:

答案 0 :(得分:4)

显然ctags可以做到!

ctags -x --c-kinds=f main.c

输出中有一些额外的内容,但可以使用sedawk来处理。 或cut

ctags -x --c-kinds=f cards.c | cut -c 51-

答案 1 :(得分:1)

许多C文件的格式与您的类似,顶级定义从第1列开始,并且在函数声明行中至少有一个左括号。

所以你可以使用它:

egrep -i '^[a-z].*\(' main.c

作为您的过滤器。