节点 ffi 结构变量数组

node ffi struct variable array

我正在使用 node-ffi 并且我有一个需要传递的结构。结构中的一些变量是数组。 我如何在 JavaScript 包装器中定义它?

C header:

typedef struct
{
    unsigned char myUChar;
    float fmyFloat;
    float arrayFloat[ARRAY_SIZE];
} sMyStruct;

JavaScript包装器:

var ffi = require('ffi');
var Struct require('ref-struct');

var sMyStruct = Struct({
    'myUChar': 'uchar',
    'fmyFloat': 'float',
    'arrayFloat[ARRAY_SIZE]': 'float'  // Would this work??
});

是否有说明可以传递给 node-ffi 的所有变量的教程,有人可以指点我吗? (例如我真的可以通过 'uchar' 吗?)

事实证明,现在在结构中声明数组的正确方法实际上是:

var Struct require('ref-struct');
var ArrayType require('ref-array');

var sMyStruct = Struct({
    'arrayFloat': ArrayType('float', 10) // array of floats, length 10
});

我还需要更彻底地测试一下,就类型列表而言,我在这里找到了一个不错的类型:https://www.npmjs.com/package/node-ffi