提取C/C++函数原型

Pet*_*ter 22 c c++ function-prototypes

我想做这个:

extract_prototypes file1.c file2.cpp file3.c
Run Code Online (Sandbox Code Playgroud)

并且让任何脚本/程序为给定C/C++文件中定义的所有函数打印一个很好的函数原型列表.它必须很好地处理多行声明.

有没有可以完成这项工作的程序?越简单越好.

编辑:尝试编译两个C程序后,使用{perl,python,ruby}的东西的奖励积分.

Joh*_*itb 37

我用 ctags

# p = function declaration, f = function definition
ctags -x --c-kinds=fp /usr/include/hal/libhal.h
Run Code Online (Sandbox Code Playgroud)

也适用于C++

ctags -x --c++-kinds=pf --language-force=c++ /usr/include/c++/4.4.1/bits/deque.tcc
Run Code Online (Sandbox Code Playgroud)

注意,您可能需要添加包含路径,使用-I /path/to/includes.


Fra*_*ack 15

工具cproto可以满足您的需求,并允许根据您的要求调整输出.

注意:此工具也仅适用于C文件.

  • 不是一个独立的工具。它需要安装 gcc(在 Windows 上试过)。 (2认同)