Как получить указатель в функции C с неизвестной длиной, используя CFFI? - PullRequest
0 голосов
/ 29 июня 2018

Название этого вопроса может быть немного запутанным.

Я хочу вызвать функцию C в python с помощью cffi. Это функция сжатия. Часть функции выглядит так:

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(...);
}

В этой функции сжатый массив сохраняется в указателе буфера. Прежде чем я вызову функцию, я не буду знать размер сжатого массива, который я узнаю после его вызова. Я хочу получить сжатый массив и не хочу записывать его в файл. Поэтому я думаю, как получить указатель на буфер из функции. Я не знаю, что я должен передать функции. Или я должен изменить тип возврата этой функции?

...