Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从C头(函数、结构等)提取信息_C_Parsing_Header - Fatal编程技术网

从C头(函数、结构等)提取信息

从C头(函数、结构等)提取信息,c,parsing,header,C,Parsing,Header,我很想写更多的软件,但不得不费力地复制我想使用的API,真是糟糕透了。所以我一直在研究如何改变这种状况。一个选项是,但是仅仅为了获取函数、结构/联合和全局函数的定义,它太过分了,因为我只需要工具来生成类似于V源文件的东西 所以我想使用一个与C99兼容的解析器,比如TinyCC,看看是否可以从中提取AST。不幸的是,这并不像我希望的那么容易,因为TinyCC不仅仅将C解析为AST,它已经为编译准备了信息。因此,从中破解解析器是一件棘手的事情 因为有一些工具是用来静态分析代码覆盖率或帮助IDE支持的

我很想写更多的软件,但不得不费力地复制我想使用的API,真是糟糕透了。所以我一直在研究如何改变这种状况。一个选项是,但是仅仅为了获取函数、结构/联合和全局函数的定义,它太过分了,因为我只需要工具来生成类似于V源文件的东西

所以我想使用一个与C99兼容的解析器,比如TinyCC,看看是否可以从中提取AST。不幸的是,这并不像我希望的那么容易,因为TinyCC不仅仅将C解析为AST,它已经为编译准备了信息。因此,从中破解解析器是一件棘手的事情

因为有一些工具是用来静态分析代码覆盖率或帮助IDE支持的,所以如果有人已经做了类似的事情,我也不会感到惊讶,即使这只是为了跳转到一个定义


因此,我的问题是:使用像这样的解析器库解析C是否安全?或者有更好、更具前瞻性的替代方案可以推荐吗?

建议您在“软件推荐”中提出这样的问题:gcc和clang都包含将源代码解析为更易于管理的内容的机制。Clang甚至还包括一个图书馆。