我的C++库已经有一个非常重要的使用Python C API手动编写的Python API。我不想对现有代码进行重大修改,但pybind11中的一些函数会非常方便。
是否可以将pybind11与现有的手动编写的应用程序接口集成?也就是说,有没有可能这样做:
static PyObject *object_stuff(PyObject *self, PyObject *args, PyObject *kwds) {
int i = do_stuff(...);
return py::cast(i);
}并保留我现有的python模块和类型定义C代码?
发布于 2020-04-28 15:30:09
是的,pybind11确实提供了包装现有python代码的功能。有关它的更多信息,可以在documentation中找到。
可以通过创建python对象来访问它。
py::object scipy = py::module::import("scipy");
return scipy.attr("__version__");https://stackoverflow.com/questions/61233352
复制相似问题