node ffi struct variable array

时间:2015-05-14 15:34:39

标签: javascript c node.js node-ffi

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

C标题:

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'吗?)

1 个答案:

答案 0 :(得分:2)

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

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