gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 13:28:41 24 4
gpt4 key购买 nike

Cython 将类似 python 的代码编译为 C++ 代码,然后使用 gcc/g++ 将其编译为类似 pyd 的库。

假设我会用纯 C++ 编写代码,然后将其编译成 pyd 以在 Python 中使用它,例如假设我有以下 C++ 模块

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

是否可以在不使用 PyObject、Ctype 等东西的情况下将该代码编译成 pyd?还是代码必须首先使用 Cython 语法编写才能与 Python 兼容?

最佳答案

我不是这方面的专家,但由于还没有人回答,这是我的看法:

如果你想避免在 C 中使用 PyObject 结构和“Python.h”,你应该使用 cython。

问题是 **.pyd 是一个特别准备的 DLL,它公开了 import() 友好的接口(interface),我认为,它包括返回 PyObjects。

但是在普通 DLL 或共享对象库上使用 ctypes 并不难:

>>> import ctypes
>>> mysum = ctypes.cdll.LoadLibrary("mysum.so") # Or DLL
>>> print mysum.sum(2, 3)
5

您只需导出 sum 函数即可从动态库中使用并编译您的代码。

关于python - 用cython将c++代码编译成pyd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32375845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com