用cython将c++代码编译成pyd

2024-04-26 06:42:49 发布

您现在位置:Python中文网/ 问答频道 /正文

Cython编译一个Python类代码到C++代码,然后使用Gcc/g++将其编译成一个像pyd的库。在

让我说我将用纯C++编写代码,然后编译成pyd,用python来使用它,例如,让我说下面的C++模块

int sum(int a, int b){
    return a + b
}

有没有可能不使用PyObject、Ctype。。。等?或者代码必须首先用Cython语法编写才能与Python兼容?在


Tags: 模块代码return语法ctypecythonintpyd
1条回答
网友
1楼 · 发布于 2024-04-26 06:42:49

我不是这方面的专家,但正如没有人回答的那样,我的意见是:

如果想避免在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函数,就可以从动态库中使用,然后编译代码。在

相关问题 更多 >

    热门问题