如何将用C ++创建的对象绑定到python

时间:2016-07-25 18:32:56

标签: python c++ swig

我创建了一个类Hello.h,如下所示:

#include <string>
class Hello {
public:
    Hello() {};
    std::string greet() {
         cout<<"HelloWorld"<<endl;
    };
};

我使用SWIG将此类导出为python模块并获取两个文件:Hello.py_Hello.so,我可以在python env中导入此模块并成功调用greet()方法下面:

import Hello
a = Hello.Hello() 
a.greet()

我的问题是我在C ++中创建了一些Hello对象,比如objectHello,我希望通过导出的模块在python中调用objectHello方法,以下是我想做的事情:

 import Hello
 a = Hello.Hello() // My idea is that how to change this line when "a" is created in C++, how to pass it to python and thus I can call it's method in python env
 a.greet()

这种情况非常简单,实际上,我的C ++方法可能有很多参数。我怎么能做到这一点,或说服我这是一个错误的方向,有人可以提前给我一些提示,谢谢提前。

0 个答案:

没有答案