node-ffi: функция C, которая при вызове возвращает массив неизвестного размера - PullRequest
0 голосов
/ 08 ноября 2019

У меня есть этот пример функции en C

int  GetOutputs(double * output)
{
    output= (double *)malloc(sizeof(double) * 3);
    output[0] = 2.2;
    output[1] = 3.2;
    output[2] = 4.2;

    return 1;
}

Я хочу назвать его формой node-ffi, но я не знаю, как ее определить. Я думаю, мне нужно определить это следующим образом:

var ArrayType = require('ref-array')
var DoubleArray = ArrayType(ref.types.double)
var DoubleMatrix = ArrayType(DoubleArray)

var Modelo1 = ffi.Library('./muylib', {
  "GetOutputs": [ "int", [  DoubleArray] ]
}

Потому что он работает, чтобы отправить массив известного размера по ref, но я не знаю, как определить переменную MyArrayPointer, прежде чем вызывать функцию

Modelo1.GetOutputs(MyArrayPointer);

Спасибо

...