2

我有一个已有 20 年历史的遗留应用程序,想将它连接到 Web 前端。我需要传递一个在 C 结构中定义的相当大的深度嵌套数据结构。我们目前正计划在 XML 中做到这一点。结构定义的总数约为 150。这些都嵌套在一个巨大的数据结构中。我想找到一个程序来扫描头文件并生成一个 XML Schema,然后我可以根据我的需要进行定制。有人知道这样的工具吗?

4

2 回答 2

0

有一个叫做GCC XML的工具,它可以将 GCC 编译的程序的内部表示转换为一些 XML,但不再维护它。

一种可能是使用 GCC 4.6 插件功能,它为 GCC 编写一个插件(用 C 语言),该插件将处理结构声明的树(即内部 AST)。您还可以使用GCC MELT,一种高级域特定语言来扩展 GCC。但是在任何一种情况下,您都需要了解 GCC 的 Tree(和 Gimple)内部表示(如果您只有 150 个结构,则可能不值得)。但是,如果您的遗留应用程序足够大,那么学习这些(并使用 MELT)可能是值得的,因为这些新技能(扩展 GCC)可以用于该遗留应用程序上的其他任务。

最后,您还可以查看与 RPC-XDR 相关的(按照今天的标准相当小的)工具,它们包含一个类似 C 的结构声明的解析器。

于 2011-10-29T00:51:49.130 回答
0

SWIG ( swig.org ) 有一个 XML 目标 (-xml) 可以做你想做的事。

于 2011-10-28T23:32:45.750 回答