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

时间:2012-02-21 22:58:53

标签: 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</param>
    </params>
</function>

这可能是一个愚蠢的问题,我浏览了视觉工作室,在C Sharp和VB上找到了一些东西。可悲的是,谷歌搜索C ++ / C和XML在同一行中几乎完全发布了C ++从其他文件生成XML的帖子。

我一切都失败了我可以自己编写,只是想知道是否有一个我没有听说过的好工具。

2 个答案:

答案 0 :(得分:2)

看看Doxygen。

除其他外,它可以generate XML。 IIRC您可以configure Doxygen生成XML,即使是没有特殊格式的注释的函数,如果这是你想要的。

答案 1 :(得分:0)

你应该谷歌搜索的是“解析C ++”。使用现成的C ++解析器,您可以遍历抽象语法树的表示,并从中生成您想要的任何内容。

我认为,良好的开源C ++解析库在实际上比C#等语言的同类文件更薄,但是你这里有一个你可能会觉得有用的项目 - GCC-XML,它使用GCC前端和写一个XML发送后端。这是C++ parsing resources上另一个有趣的页面。

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

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