2015-05-14 58 views
0

我正在使用node-ffi,並且我有一個需要傳遞的結構。結構中的一些變量是數組。 如何在JavaScript包裝器中定義這個?節點ffi結構變量數組

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?? 
}); 

是否有這表明所有可以傳遞到節點FFI任何人都可以指向我的變量的教程? (例如可我居然通過「UCHAR」?)

回答

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