头文件定义的函数,结构体
typedef struct {
int n[10];
}ARRAY_INT;
ARRAY_INT ArrayGet1();
c++源码
ARRAY_INT ArrayGet1()
{
ARRAY_INT ai;
wprintf(L"[DLL_OUT]\t%s\t", __FUNCTIONW__);
for (int i = 0; i < sizeof(ai.n) / sizeof(int); i++) {
ai.n[i] = i;
std::wcout << i << " ";
}
std::wcout << std::endl;
return ai;
}
JS调用
const path = require('path')
import ref from 'ref-napi'
import ffi from 'ffi-napi'
import structDi from 'ref-struct-di'
const struct = structDi(ref);
const arrStruct = struct({ n: 'int' })
const lib = new ffi.Library(path.join(__dirname, `../resources/${process.platform}/LibraryExportsTest2`), {
ArrayGet1: [ref.refType(arrStruct), []],
})
lib.ArrayGet1()
无任何抛错,electron直接闪退。求大佬指点一二。
electron v13.0.0
node v14.18.2
请问问题好了吗,我也碰到过