我在谈论ROOT's CINT。
我一直在开发一个用c ++编写的游戏,用Python编程AI。尽管我喜欢Python,并且它对AI的编程有多么容易(生成器和FP非常性感),但它使得非常琐碎的算法运行所以慢。
然后我记得我读过有关CINT的地方,以及它是如何嵌入的。现在我需要你的帮助来决定是否将CINT实现为备用脚本系统。使用python我使用Boost :: Python,一旦你习惯了,它几乎不会公开类和对象。 CINT有这么容易吗?
谢谢。
答案 0 :(得分:1)
我编写了针对Root编译的类,然后直接在解释器中访问它们。虽然所有这些类都来自TObject
,但这很容易。我不知道的是,这是一个cint要求还是ROOT要求。你可能最好问RootTalk CINT Support forum
解决评论中的问题:
TObject
的派生可以是第二手:您的类可以从TObject
派生的内容派生,只需要 一个TObject。makecint
)和一些宏(ClassDef
和ClassImp
),以支持将代码与解释的执行环境集成:编写从{{1 }};在标题中包含TObject
宏,在源文件中包含ClassDef
宏;在代码上运行ClassImp
以生成所有繁琐的集成无意义,然后将代码和生成的代码编译为共享对象(或者,我认为,在Windows框中为dll);开始翻译;使用makecint
加载库;并且您的类与解释的环境完全集成(选项卡完成将起作用以及所有这些)。可以使用.L
(以及可能的其他工具)自动构建。 ##再次,##我不知道这有多少属于ROOT和多少cint。但它都是开源的,所以你可以抓住并调整你需要的东西。