2024-04-26 06:42:49 发布
网友
Cython编译一个Python类代码到C++代码,然后使用Gcc/g++将其编译成一个像pyd的库。在
让我说我将用纯C++编写代码,然后编译成pyd,用python来使用它,例如,让我说下面的C++模块
int sum(int a, int b){ return a + b }
有没有可能不使用PyObject、Ctype。。。等?或者代码必须首先用Cython语法编写才能与Python兼容?在
我不是这方面的专家,但正如没有人回答的那样,我的意见是:
如果想避免在C中使用PyObject结构和“Python.h”,就应该使用cython
问题是**.pyd是一个特殊的预编译DLL,它公开import()友好的接口,我认为,这包括返回PyObjects。在
但是在普通DLL或共享对象库上使用ctypes并不难:
>>> import ctypes >>> mysum = ctypes.cdll.LoadLibrary("mysum.so") # Or DLL >>> print mysum.sum(2, 3) 5
您只需导出sum函数,就可以从动态库中使用,然后编译代码。在
我不是这方面的专家,但正如没有人回答的那样,我的意见是:
如果想避免在C中使用PyObject结构和“Python.h”,就应该使用cython
问题是**.pyd是一个特殊的预编译DLL,它公开import()友好的接口,我认为,这包括返回PyObjects。在
但是在普通DLL或共享对象库上使用ctypes并不难:
您只需导出sum函数,就可以从动态库中使用,然后编译代码。在
相关问题 更多 >
编程相关推荐