2

20 年前のレガシー アプリケーションがあり、それを Web フロント エンドに接続したいと考えています。C 構造体で定義された、かなり大きく深くネストされたデータ構造を渡す必要があります。現在、XML でそれを行う予定です。構造体定義の総数は約 150 です。これらはすべて 1 つの巨大なデータ構造にネストされます。ヘッダー ファイルをスキャンし、必要に応じて調整できる XML スキーマを生成するプログラムを見つけたいと考えています。そのようなツールを知っている人はいますか?

4

2 に答える 2

0

SWIG ( swig.org ) には、必要なことができる XML ターゲット (-xml) があります。

于 2011-10-28T23:32:45.750 に答える
0

GCC でコンパイルされたプログラムの内部表現を何らかの XML に変換するGCC XMLと呼ばれるツールが存在しますが、現在は維持されていません。

可能性としては、GCC 4.6 プラグイン機能を使用して、構造宣言のツリー (内部 AST) を処理する GCC 用のプラグイン (C で) をコーディングすることが考えられます。高レベルのドメイン固有言語であるGCC MELTを使用して、GCC を拡張することもできます。しかし、どちらの場合も、GCC のツリー (および Gimple) 内部表現を理解する必要があります (構造が 150 個しかない場合は意味がないかもしれません)。ただし、レガシー アプリケーションが十分に大きい場合は、(GCC を拡張する) 新しいスキルをそのレガシー アプリケーションの他のタスクに使用できるため、これらを学習する (および MELT を使用する) 価値があるかもしれません。

最後に、RPC-XDR に関連する (今日の基準ではかなり小さい) ツールも調べてみてください。これらのツールには、C に似た構造体宣言のパーサーが含まれています。

于 2011-10-29T00:51:49.130 に答える