有将CINT嵌入C ++应用程序的经验的人吗?

时间:2010-06-25 01:14:29

标签: c++ scripting root-framework

我在谈论ROOT's CINT

我一直在开发一个用c ++编写的游戏,用Python编程AI。尽管我喜欢Python,并且它对AI的编程有多么容易(生成器和FP非常性感),但它使得非常琐碎的算法运行所以慢。

然后我记得我读过有关CINT的地方,以及它是如何嵌入的。现在我需要你的帮助来决定是否将CINT实现为备用脚本系统。使用python我使用Boost :: Python,一旦你习惯了,它几乎不会公开类和对象。 CINT有这么容易吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

我编写了针对Root编译的类,然后直接在解释器中访问它们。虽然所有这些类都来自TObject,但这很容易。我不知道的是,这是一个cint要求还是ROOT要求。你可能最好问RootTalk CINT Support forum


解决评论中的问题:

  • TObject的派生可以是第二手:您的类可以从TObject派生的内容派生,只需要 一个TObject。
  • Root提供了一个工具(makecint)和一些宏(ClassDefClassImp),以支持将代码与解释的执行环境集成:编写从{{1 }};在标题中包含TObject宏,在源文件中包含ClassDef宏;在代码上运行ClassImp以生成所有繁琐的集成无意义,然后将代码生成的代码编译为共享对象(或者,我认为,在Windows框中为dll);开始翻译;使用makecint加载库;并且您的类与解释的环境完全集成(选项卡完成将起作用以及所有这些)。可以使用.L(以及可能的其他工具)自动构建。 ##再次,##我不知道这有多少属于ROOT和多少cint。但它都是开源的,所以你可以抓住并调整你需要的东西。