[英]Extending an embedded python interpreter with global instance of a c++ object
我上课了
class A {
A(SomeClass* ptr);
do_something();
};
我想在使用boost-python的嵌入式python解释器中使用它
到目前为止,我已经设法通过BOOST_PYTHON_MODULE
创建了一个python模块,并创建了一个带有接受SomeClass指针的构造函数的class_<A>
。
现在我想扩展解释器,以便每当调用一些python代码时都有一个这个类的实例(名为an_a
),以便以下python代码有效:
#preferably no imports here.
an_a.do_something()
我的问题有两个,我需要在使用解释器之前在python或C ++中构造这个对象,并且我需要使该对象可用于脚本的编写者。 我有一些问题,在我能找到的文档中找到确切的方法。
我最近需要做这件事。 我也考虑过(和使用过)Boost.Python,但我个人(尽管我喜欢Boost)我觉得不得不拖入一半的Boost库来获得这个功能。
因此,如果您感兴趣,我最近在Python包装器库中使用名为ECS:Python的第一原理实现了C ++的嵌入式Python脚本。 ECS:Python(嵌入式C ++脚本与Python)专为希望将C ++应用程序中的对象暴露给嵌入式Python解释器以进行交互式脚本编写的C ++开发人员而设计。
它的免费(BSD)和开源: http : //sourceforge.net/projects/ecspython
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.