繁体   English   中英

使用c ++对象的全局实例扩展嵌入式python解释器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM