私は多数のクラス(150以上)を持つC ++プロジェクトに取り組んでおり、各クラスには10から300程度のフィールドがあります。再コンパイルを必要としないコールバックをコーディングできるように、テスト用のスクリプトインターフェイスを提供できるようにしたいと思っています。私はPythonよりもCAPIに精通しているので、Luaでこれを実行したいと思いますが、頭痛の種を減らすことができれば、Pythonで実行できれば幸いです。
私はC++からLua関数を呼び出す方法とその逆の方法をしっかりと把握しており、基本的なデータ型をやり取りする方法を知っています。私が持っている質問は、SWIGを使用して2つの間でユーザー指定のデータ型を共有する方法です。
たとえば、C ++のある時点で、250個のフィールドを持つオブジェクトのいくつかのメンバーデータを評価したい場合があります。そのオブジェクトをLuaに渡して、生成されたSWIGラッパーを使用してそのオブジェクトを操作し、特定のフィールドを表示してから、(変更される可能性のある)オブジェクトをC++に戻して継続して使用できるようにしたいと思います。 。
また、ラッパーを使用してLuaでオブジェクトのインスタンスをインスタンス化し、それをC ++に渡して、オブジェクトの通常のC++バージョンとして使用できるようにしたいと思います。
これは可能ですか?誰かが私にチュートリアルや明示的な例を教えてもらえますか?
あなたが提供できるどんな助けにも感謝します!