ユーザーがアプリケーション環境内で Python スクリプトを実行できるようにしたり、内部 (C++ で実装された) オブジェクトにアクセスしたりできるようにするために、アプリケーションに Python を埋め込む実験に興味があります。私がやっている。
Embedding Python in Another Applicationを読みましたが、これはクラスやオブジェクトではなく、C API とフラット C 関数についてのみ話しているようで (何かを見逃していない限り)、その「Embedding Python in C++」セクションは 2 文しかありません。 . ただし、boost::python の使用方法にも出くわしましたが、これは優れているようです。
問題が 1 つあります。boost::pythonは C++ Builder 2010 でサポートされていません。
したがって、これを考えると、C++ Builder 2010 でコンパイルされた C++ アプリケーションに Python を埋め込むための最良のアプローチは何であり、どの手法が最適かを使用して、どのようにクラスとオブジェクトを公開/統合して、Python コーダーがオブジェクトにアクセスできるようにしますか?プログラムの内部指向? 標準的なアプローチを見逃していませんか? 内部クラスまたはインスタンス化されたオブジェクトをオブジェクトとして Python に公開するのは簡単ですか、それとも API は真に C スタイルまたはフラット / 非 OO ですか。
注: 私は実際に、C++ Builder と Delphi の両方を含む RAD Studio を使用しています。ある種の Delphi 固有のバインディングを利用することは可能かもしれませんが、私が遭遇したものは6 ~ 7 年前のもの、または新しいもの (Python 2.6)ですが、ドキュメントがないようで、「とにかくこれらの [sic] コメントを読んだ人はいますか? このプロジェクトに取り組んでいる人はいますか?」これは励みにはなりません。ただし、特に組み合わせた D + CB アプリで動作する可能性が高いと思われる場合は、Delphi 固有の回答を自由に含めてください。完璧でなくても、すべての回答に感謝します。調査はできます。どこへ行くべきかについての指針が必要なだけです。ただし、VCL 派生オブジェクトの使用には独自の制限があるため、ネイティブ C++ ソリューションがおそらく理想的です。
ご意見ありがとうございます。