c++ - 提取 C/C++ 函数原型(prototype)

标签 c++ c function-prototypes

我想这样做:

extract_prototypes file1.c file2.cpp file3.c

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

有一个程序可以完成这项工作吗?越简单越好。

编辑:在尝试编译两个 C 程序后,使用 {perl、python、ruby} 的程序可以获得加分。

最佳答案

我使用ctags

# p = function declaration, f = function definition
ctags -x --c-kinds=fp /usr/include/hal/libhal.h

也适用于 C++

ctags -x --c++-kinds=pf --language-force=c++ /usr/include/c++/4.4.1/bits/deque.tcc
<小时/>

请注意,您可能需要添加包含路径,请使用 -I/path/to/includes 执行此操作。

关于c++ - 提取 C/C++ 函数原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37541807/

相关文章:

使用不同的可执行文件创建 Makefile

c - C 中的目标文件中存在多个定义的链接错误

javascript - JavaScript 中 Number 和 Function.prototype 之间的关系是什么?

c - 函数原型(prototype)声明 c

C unsigned long 转换未正确添加

javascript - js inside method in method 中this关键字的逻辑是什么?

c++ - 方法,调用所有基类的同名方法(如果存在)并将返回值保存到列表中

c++ - 我想看看一个字符是否存在于字符串中

c++ - JSF 前端调用 C++ 事件处理程序客户端函数

c++ - 为什么两个程序中的一个会导致 "*** glibc detected *** double free or corruption"错误而另一个不会?