以下是nodejs代码
const ffi = require('ffi-napi');
const ref = require('ref-napi');
var StructType = require('ref-struct-napi')
// 定义结构体
const MyStruct = StructType({
id: ref.types.int,
name: ref.types.CString
});
// 加载 C++ 模块
const dllLib = ffi.Library('dll/test-plugin.dll', {
'parseStruct': ['void', ['pointer']]
});
// 创建结构体实例
const myStruct = new MyStruct();
myStruct.id = 123;
myStruct.name = '张三';
// 调用 C++ 函数,传递结构体实例
dllLib.parseStruct(myStruct.ref());
以下是dll函数的定义
typedef struct MyStruct {
int id;
string name;
};
extern "C" {
EXPORT void parseStruct(const MyStruct* stru)
}
以下是崩溃截图