C++ 任何有将CINT嵌入C+经验的人+;应用程序?
我是说 我一直在开发一个C++游戏,它使用Python来编程AI。虽然我非常喜欢Python,而且它使编程AI变得多么容易(生成器和FP非常性感),但它使非平凡的算法运行得如此缓慢C++ 任何有将CINT嵌入C+经验的人+;应用程序?,c++,scripting,root-framework,C++,Scripting,Root Framework,我是说 我一直在开发一个C++游戏,它使用Python来编程AI。虽然我非常喜欢Python,而且它使编程AI变得多么容易(生成器和FP非常性感),但它使非平凡的算法运行得如此缓慢 然后我记得我在什么地方读过关于CINT的书,以及它是如何嵌入的。现在我需要您的帮助来决定是否将CINT作为一个备用脚本系统来实现。对于python,我使用Boost::python,这使得一旦习惯了类和对象,就几乎不需要公开它们。CINT有这么简单吗?我编写了基于Root的类编译,然后在解释器中直接访问它们。这很容易
然后我记得我在什么地方读过关于CINT的书,以及它是如何嵌入的。现在我需要您的帮助来决定是否将CINT作为一个备用脚本系统来实现。对于python,我使用Boost::python,这使得一旦习惯了类和对象,就几乎不需要公开它们。CINT有这么简单吗?我编写了基于Root的类编译,然后在解释器中直接访问它们。这很容易,尽管所有这些类都应该派生自
TObject
。我不知道这是cint需求还是根需求。你最好在网上问问
要解决评论中的问题:
- 从
派生可以是间接的:您的类可以从从TObject
派生的东西派生,它必须是一个TObjectTObject
- Root提供了一个工具(
)和一些宏(makecint
和ClassDef
)来支持将代码与解释执行环境集成:编写从classmp
派生的CLA;在头文件中包含TObject
宏,在源文件中包含ClassDef
宏;在代码上运行classmp
,生成所有繁琐的集成代码,然后将代码和生成的代码编译为共享对象(或者,我猜想,是windows框上的dll);启动翻译程序;用makecint
加载库;您的类与解释环境完全集成(制表符完成将起作用)。可以使用.L
(以及其他可能的工具)自动生成##再说一遍,我不知道这其中有多少属于ROOT,有多少属于cint。但它都是开源的,所以你可以根据需要进行修改make