解析头文件以查找函数名称

时间:2012-02-02 12:04:30

标签: c file gcc header-files

大家好我想解析一个头文件来打印头文件中的所有函数名(只有名字)。有没有办法做到这一点,我可以使用任何其他语言,并将该代码嵌入我的c程序?或者我必须从头开始读取文件并以某种方式解析它以找到函数名称?有更好的方法吗?

3 个答案:

答案 0 :(得分:1)

如果您只关注* .h文件中的函数名称,则需要使用简单的正则表达式来提取它们。所以,你可以用几乎任何支持正则表达式的语言来做到这一点。

前段时间有关于它的主题。 Regex to pull out C function prototype declarations?

答案 1 :(得分:0)

您可以考虑为此目的使用插件或MELT扩展程序扩展GCC。除了它可能比复制粘贴名称或一些丑陋的文本解决方案花费更多的工作。

您还可以使用nm命令来发现目标文件中定义的函数。

如果您担心C和其他语言之间的粘合代码,您可以查看SWIG

答案 2 :(得分:0)

当然,您必须从头开始读取文件并解析它,通常是从文件中提取信息的方式。

不确定您引用的其他语言的其他方法是什么,这当然适用于将程序表示为字符序列的所有语言。

解析C也不是一件容易的事,您通常需要先预处理代码,这可能需要进行大量的配置管理。