小编Dav*_*own的帖子

使用包含来自 Node.js 的 char 数组的结构调用 C++ dll

我正在使用 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 的地方 …

c++ pointers node.js node-ffi

5
推荐指数
1
解决办法
1579
查看次数

标签 统计

c++ ×1

node-ffi ×1

node.js ×1

pointers ×1