python 调用C++ class类中函数
时间: 2023-10-30 19:05:04 浏览: 135
要在Python中调用C类中的函数,需要使用Cython或ctypes等工具。以下是使用Cython的示例:
假设我们有以下C头文件:
```
// myclass.h
class MyClass {
public:
int add(int a, int b);
};
```
我们可以使用Cython将其转换为Python模块:
```
# myclass.pyx
cdef extern from "myclass.h":
cdef cppclass MyClass:
int add(int a, int b)
cdef class PyMyClass:
cdef MyClass* _c_obj
def __cinit__(self):
self._c_obj = new MyClass()
def __dealloc__(self):
del self._c_obj
def add(self, a, b):
return self._c_obj.add(a, b)
```
然后使用Cython编译生成扩展模块:
```
$ cythonize -i myclass.pyx
```
在Python中使用该模块:
```
import myclass
my_obj = myclass.PyMyClass()
result = my_obj.add(1, 2)
print(result) # 输出 3
```
这样就可以在Python中使用C++编写的类了。