问题描述
谁能帮忙在 nodejs-ffi-napi 中编写这段代码。
void __cdecl waveform(double Amplitude,double SamplingRateSS,int32_t CodeOrder,double PRIS,double DutyCycle,double IData[],double QData[],int32_t len,int32_t len2);
这里的 double IData[]
和 double QData[]
是双数据类型的输出数组。而int32_t len
和int32_t len2
分别是IData[]和QData[]的长度
I have tried this gist 并阅读了此文档ffi-napi。
以下代码我尝试过但失败了
const ffi = require('ffi-napi');
const ref = require('ref-napi');
const ArrayType = require('ref-array-napi');
var doubleArray = ArrayType(ref.types.double);
let libm = ffi.Library('SharedLib.dll',{
'waveform': ['void',['double','double','int',doubleArray,'int']]
});
var outIdata = doubleArray([])
var outQdata = doubleArray([])
libm.waveform(1,10000,10,0.001,50,outIdata,outQdata,10)
console.log(outIdata);
console.log(outQdata);
我得到这个输出
ArrayType { buffer: <Buffer@0x00000000 >,[Symbol(length)]: 0 }
ArrayType { buffer: <Buffer@0x00000000 >,[Symbol(length)]: 0 }
我的预期是
[-1.2323,12332,1789........]
[-1.6723,18332,1089........]
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)