将指针从dll(c/c++)传输到python

问题描述 投票:0回答:1

我有一个用 C++ 编写的 DLL(可以用 C 重写)和 python 代码,我用

cdll.LoadLibrary()
导入 DLL。然后我从 DLL 中指定一个函数及其参数类型。然后我调用
function
,它会返回
double *
。指针指向堆中某处分配的内存 -
function
进行一些数学运算并将结果存储在 3500 x 8 数组中(我使用 new[] 分配内存,并且不在 DLL 函数中释放它。我应该使用它带有 C++ 代码的 DLL,这样我就可以释放其中某处的内存)。

问题是。有没有办法可以从 DLL 接收

double *
并使用指针指向的数组?据我所知,python没有指针的实现。谢谢!

附注据我所知,Python 中 DLL 函数的默认返回类型是 int。那么我可以使用它的 int 地址来处理 3500 x 8 数据吗?

python c++ c pointers ctypes
1个回答
1
投票

你应该尝试一下

dll.your_function.restype = ctypes.POINTER(ctypes.c_double)

© www.soinside.com 2019 - 2024. All rights reserved.