1

我正在使用 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'吗?)

4

1 回答 1

3

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

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

于 2015-05-19T08:24:37.697 回答