使用Boost.Python将C++类实例传递给Python的方法如下:
sudo apt-get install libboost-all-dev python3-dev
#include<boost/python.hpp>
#include<Python.h>
class MyClass {
public:
MyClass(int value) : value_(value) {}
int getValue() const { return value_; }
private:
int value_;
};
BOOST_PYTHON_MODULE(my_module) {
using namespace boost::python;
class_<MyClass>("MyClass", init<int>())
.def("getValue", &MyClass::getValue)
;
}
g++ -shared -o my_module.so my_module.cpp -lboost_python3 -lpython3.8
import my_module
my_instance = my_module.MyClass(42)
print(my_instance.getValue())
这样,就可以在Python代码中使用C++类实例了。需要注意的是,Boost.Python库是一个跨平台的C++和Python集成库,它可以让C++代码和Python代码无缝集成,实现双向调用。
领取专属 10元无门槛券
手把手带您无忧上云