如何使用CFFI获取长度未知的C函数中的指针?

2024-04-25 03:35:23 发布

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

这个问题的题目可能有点混乱。你知道吗

我想用cffi调用python中的C函数。这是一个压缩函数。部分函数如下所示:

int compression_float_3d(float* array, int nx, int ny, int nz)
{
...
void* buffer;
...
// allocate buffer for compressed data
buffer = malloc(bufsize);
...
// compress the array
size = compress(...);
}

在此函数中,压缩数组存储在缓冲区指针中。在调用函数之前,我不知道压缩数组的大小,调用之后我就知道了。我想得到压缩数组,不想把它写入文件。因此,我正在考虑如何从函数中获取缓冲区指针。我不知道我应该传递给函数什么。还是应该更改此函数的返回类型?你知道吗


Tags: 函数buffer数组floatcffiarraycompressint