2

私はROOTのCINTについて話している。

私は、AIのプログラミングにPythonを使用するC++でゲームを開発してきました。私がPythonを気に入っているのと同じくらい、そしてそれがAIのプログラミングをいかに簡単にするか(ジェネレーターとFPは本当にセクシーです)、それは重要なアルゴリズムの実行を非常に遅くします。

それから、CINTについて、そしてそれをどのように埋め込むことができるかについてどこかで読んだことを思い出しました。ここで、代替スクリプトシステムとしてCINTを実装するかどうかを決定するためにあなたの助けが必要です。Pythonでは、Boost :: Pythonを使用します。これにより、慣れるとクラスやオブジェクトを公開するのにほとんど苦痛がなくなります。CINTにはこんなに簡単なものはありますか?

4

1 に答える 1

1

Rootに対してコンパイルされたクラスを作成し、インタープリターで直接アクセスしました。これは簡単ですが、そのようなクラスはすべて。から派生することが期待されていますTObject。私が知らないのは、それがcint要件なのかROOT要件なのかということです。RootTalkCINTサポートフォーラムで質問するのが最善かもしれません


コメントの質問に対処するには:

  • からの派生はTObject中古である可能性があります。クラスはから派生したものから派生する可能性があり、TObjectであるTObject必要があります。
  • ルートは、コードを解釈された実行環境と統合することをサポートするツール( makecint)といくつかのマクロ(ClassDefおよび)を提供します。ヘッダーにマクロを含め、ソースファイルにマクロを含めます。コードを実行して、面倒な統合の意味をすべて生成してから、コードと生成されたコードを共有オブジェクト(または、Windowsボックスのdll)にコンパイルします。通訳を開始します。ライブラリを;でロードします。クラスは解釈された環境と完全に統合されています(タブ補完が機能します)。ビルドは自動化できますClassImpTObjectClassDefClassImpmakecint.Lmake(そしておそらく他のツール)。##繰り返しますが、##これのどれだけがROOTに属し、どれだけをシントするのかわかりません。しかし、それはすべてオープンソースであるため、必要なものを手に入れて適応させることができます。
于 2010-06-25T01:21:43.717 に答える