2010-11-24 6 views
1

プラグインとしてカスタムC DLLをロードするAPIを持っています。いくつかのスクリプト言語を使ってCプラグインを書く

  • 転送いくつかのスクリプトにアプリケーションコア からの呼び出し:私が欲しいもの

    はなりますが、いくつかのプロキシDLLを作成することです。

  • そのスクリプトからのコールバックを アプリケーションコアに戻します。

APIは非常に複雑なので、手動ですべてをラップするのは大変な作業です - それを自動化するものはありますか? (任意のスクリプト言語、例えばlua、tcl、perlなど)

基本的に私はtoluaのようなものが必要ですが、コールバックだけを呼び出すことができます。より興味深いのは、コアアプリケーションから(プロキシプラグイン経由で)自動的に呼び出されるluaスタブを生成することです。 (そして、これらのスタブは、プラグインC APIに基づいて生成する必要があります)。

誰でも知っているツールがありますか?

答えて

1

これを行うための「標準的な」方法は、相互運用機能をインタフェース定義言語で記述し、その言語用のパーサを記述してC/lua/etcを吐き出すことです。必要なコード(例:http://msdn.microsoft.com/en-us/library/aa367091%28v=vs.85%29.aspx)。あなたはスイギについて聞いたことがありますか? (http://www.swig.org/)を参照してください。

私たちが内部的に使用する方法は、IDLのステップをスキップし、Cコードをエクスポートしたいものに直接マークすることです。例えば AUTO_PARSE JSON_RPC;前工程で のボイドのfoo(CHAR *名、int型の年齢) { // ... }

に我々はAUTO_PARSEタグのソースファイルをスキャンし、我々がでコンパイル特別.cファイルを吐き出します例えば、json rpcの情報。

希望すると便利です。 Aaron

+0

はい、これは私が探していたものです。しかし、私は自分のパーサーとIDLコンパイラを書くべきですか?私は私のために仕事をするいくつかのツールについて聞いてみたいと思っていましたが、ジェネラルジェットのための完全な準備ができていないようです。 – noonex

+0

私たちはオープンソースのHPHPを今すぐ公開しています。コピーする場合は/ src/idl – aaron

関連する問題