2

有没有一种工具只显示给定源文件的函数原型?我知道 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();
}
4

2 回答 2

4

显然ctags可以做到这一点!

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

输出中有一些额外的东西,但可以用sedor处理awk。或者cut

ctags -x --c-kinds=f cards.c | cut -c 51-
于 2013-04-05T11:11:31.207 回答
1

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

所以你可以使用这个:

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

作为您的过滤器。

于 2013-04-05T11:01:53.917 回答