为 Erlang 提取 C 函数签名
Posted
技术标签:
【中文标题】为 Erlang 提取 C 函数签名【英文标题】:Extracting C functions signatures for Erlang 【发布时间】:2013-06-14 08:31:21 【问题描述】:我想知道最适合从源代码中提取 c(最终是 c++)函数名称、参数及其类型的工具是什么。我想使用一个可以尽可能自动化的工具。
我想提取签名类型,然后让另一个用 Erlang 编写的程序读取输出。我的目标是使用这些信息在 Erlang 中构造等效的 C 类型/签名(使用 ei)。我希望这个过程适用于任何 C 文件,所以我不能使用任何硬编码的东西。
我发现了很多看起来很有前途的工具,比如 CLang、CScope 和 ANTLR 等等,但我不知道它们中的任何一个是否可以工作,或者是否有更好的方法。
谢谢。
【问题讨论】:
如果您不知道其中任何一个是否有效,您肯定需要在询问之前尝试一下。 【参考方案1】:当然有更好的东西,但如果你没有找到它:
gcc -aux-info output demo.c
sed '/include/d' output
从源代码中提取函数跳过标准函数
【讨论】:
我读过 gcc 有一些标志可以提供有关代码的信息。有没有办法获得一个 XML 文件作为输出,以便它可以被 Erlang 模块解析?感谢您的回复! 我昨天通过谷歌找到了这个库。我正在调查它。谢谢!以上是关于为 Erlang 提取 C 函数签名的主要内容,如果未能解决你的问题,请参考以下文章