我正在使用 Node.js ffi插件来调用 C++ DLL。
我遇到的问题是我提供的结构 - 它包含一个 char 数组 - 我不相信我的设置正确。结果我无法访问内容。
C++头文件中的例程定义:
int GetSysConfig(MyConfig * config);
Run Code Online (Sandbox Code Playgroud)
MyConfig结构体在 C++ 中定义如下:
typedef struct{
int attribute;
char path[256];
}MyConfig;
Run Code Online (Sandbox Code Playgroud)
我对应的 Node.js 结构定义:
var ffi = require('ffi');
var ref = require('ref');
var StructType = require('ref-struct');
var ArrayType = require('ref-array');
// This seems to be the problematic part?
var charArray = ArrayType('char');
charArray.length = 256;
var MyConfig = StructType({
'attribute' : 'int',
'path' : charArray
})
Run Code Online (Sandbox Code Playgroud)
注意:下面是我从 Node.js 调用 DLL 的地方 …