是否有任何类型的工具只显示给定源文件的函数原型? 我知道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();
}
答案 0 :(得分:4)
显然ctags
可以做到!
ctags -x --c-kinds=f main.c
输出中有一些额外的内容,但可以使用sed
或awk
来处理。
或cut
ctags -x --c-kinds=f cards.c | cut -c 51-
答案 1 :(得分:1)
许多C文件的格式与您的类似,顶级定义从第1列开始,并且在函数声明行中至少有一个左括号。
所以你可以使用它:
egrep -i '^[a-z].*\(' main.c
作为您的过滤器。