2012-07-26 38 views
3

我有一个类扩展与C的全局实例一种嵌入式Python解释++对象

class A { 
    A(SomeClass* ptr); 
    do_something(); 
}; 

,我想用升压蟒蛇在嵌入式Python解释器使用

到目前为止我认为得到我设法通过BOOST_PYTHON_MODULE创建了一个python模块,并创建了一个class_<A>,它带有一个接受SomeClass指针的构造函数。

现在我想,这样有这个类(名为an_a)每当一些Python代码调用,这样下面的Python代码是有效的情况下延长解释:

#preferably no imports here. 
an_a.do_something() 

我的问题是双重的,我需要在使用解释器之前使用python或C++构造这个对象,并且我需要使该对象可用于脚本的编写者。我遇到一些问题,在我能找到的文档中找到如何做到这一点。

回答

0

我最近需要做这个确切的事情。我也考虑(并使用)Boost.Python,但个人(尽可能多的我爱Boost)我发现它不必要拖动Boost库的一半来获得这个功能。因此,如果您有兴趣,我最近从一个名为ECS:Python的Python包装库的第一原理实现了C++的嵌入式Python脚本。 ECS:Python(Python嵌入式C++脚本)专为C++开发人员设计,希望将对象从C++应用程序公开到嵌入式Python解释器以进行交互式脚本编写。

其免费(BSD)和开源: http://sourceforge.net/projects/ecspython