2011-06-19 13 views
0

私はC++の3Dシミュレーションを拡張しようとしています。実行時に動的に影響を与えるために第2言語(現時点ではECL)で作業しています。つまり、私はこのようなスクリプトを評価したいと思っています: (move object x y) "object"を位置(x、y)に移動します。メインC++プログラムと組み込みECL間の通信を実現

この問題を解決するには、ECL環境では、たとえば、それを移動するオブジェクトの対応するノードのインスタンス 私はECLを埋め込み、評価された任意のコードを持ち、いくつかのライブラリからプレーンC関数を呼び出す方法も知っていますが、ECL環境に特定のインスタンスとそれらのメソッドの呼び出し方法をどのように伝えることはできません。

私はこれをECLと共通ではないとしますが、メインプログラムがC++で書かれていて、いくつかのオブジェクト指向を使用しているときにどのように情報を見つけることができなかったと思います。

+1

通常、埋め込み言語でネイティブ関数を使用できるようにするには、埋め込み言語ランタイムに関数ポインタを登録します。メンバ関数へのポインタ(秘密の 'this'引数を忘れないでください)を使うか、フリーのラッパー関数を書くことができます。 –

答えて

0

C++アプリケーション用のコマンドラインインターフェイスを作成し、パイプ経由で通信することができます。 それは私がしていることです。それは簡単で、私にとっては十分速いです。

関連する問題