我正在寻找一个好的工具或库,它接受一个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的帖子。
我一切都失败了我可以自己编写,只是想知道是否有一个我没有听说过的好工具。
答案 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,您的里程可能会有所不同等等......