C++ 将C头转换为XML的好工具/库

C++ 将C头转换为XML的好工具/库,c++,c,xml,C++,C,Xml,我正在寻找一个好的工具或库,它采用C/Cpp/头文件并为该文件中的函数生成xml 所以也许 float foo(int bar, char* str); 会变成 <function name="foo" returntype="float"> <params> <param dataType="int">bar</param> <param dataType="char*">str</pa

我正在寻找一个好的工具或库,它采用C/Cpp/头文件并为该文件中的函数生成xml

所以也许

float foo(int bar, char* str);
会变成

<function name="foo" returntype="float">
    <params>
        <param dataType="int">bar</param>
        <param dataType="char*">str</param>
    </params>
</function>

酒吧
str
这可能是一个愚蠢的问题,我浏览了VisualStudio,在C和VB上发现了一些东西。遗憾的是,Google在同一行中使用C++和C,几乎完全是C++上的从其他文件生成XML的帖子。
我所有的东西都失败了,我可以自己写,只是想知道是否有一个我从未听说过的好工具。

你应该在谷歌上搜索的是“解析C++”。使用C++的现成解析器,可以遍历抽象语法树的表示,并从中生成任何想要的。p> <> P>优秀的开源C++解析库在某些方面比它们的C语言的对应点要薄一些,但是这里有一个你可能会发现有用的项目,它使用GCC前端并编写一个XML发布后端。这是另一个有趣的页面

在最坏的情况下,您可以获取GCC-XML的输出,并简单地将该XML转换为您需要的内容


标准免责声明-我从未使用过GCC-XML,您的里程数可能会有所不同,等等。

请查看Doxygen


除其他外,它可以。IrrC,即使没有特殊格式的注释,也可以为函数生成XML,如果你想要的话。

“我所有其他的都失败了,我可以自己写”解析C++不是那么容易。C相当简单,但是C++?不,是的,告诉我们为什么,我们是一群好奇的人,你们知道……Doxygen的XML输出介于糟糕和可怕之间。我试着用它做点什么,但很少奏效。如果您想将其转换为看起来不像Doxygen的HTML文档的内容,您就有麻烦了。或者你需要自己做一些额外的解析。我还建议使用Doxygen。确实,XML输出看起来不是最好的,但它是可用的。你很可能会花一些时间玩DyxGy选项,编写XML解析脚本,但所有这些都比C++ +XML转换步骤容易得多。我看了XML doxGEN生成。我认为这会很好地服务。我不希望用户先使用doxygen,然后再将XML发送到我们的程序中,所以我可能会编写自己的解析器(我有非常具体的案例)。也就是说,如果其他人正在寻找一种通用工具,那么这个工具看起来是最好的,或者至少从简单/简单到有效的比率来看是最好的。谢谢你,布兰科