首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c++文件指针的Node-FFI的引用类型是什么?

c++文件指针的Node-FFI的引用类型是什么?
EN

Stack Overflow用户
提问于 2018-06-20 18:13:19
回答 1查看 788关注 0票数 0

我不知道在这种情况下使用哪种'ref‘模块类型。

我有一个DLL函数,它返回一个bool并接受一个文件指针作为参数:

代码语言:javascript
复制
__declspec(dllexport) BOOL __stdcall GB_Build( FILE *fname )
{ return Greenhouse.Build(fname) == true ? TRUE : FALSE; }

和Node-FFI绑定:

代码语言:javascript
复制
var ffi = require('ffi');
var ref = require('ref');

var greenbuildlib = null;

greenbuildlib = './PGD/GreenBuild_DLL.dll';

var greenbuild = ffi.Library(greenbuildlib, {
    "GB_GetBayLength": ['double', []],
    "GB_SetBayLength": ['void', ['double']],
    "GB_Build": ['bool', [ref.types.Object]],
});

module.exports = greenbuild;

"GB_Build“函数创建一个json文件,并根据是否创建该文件返回一个bool。fname代表“文件名”,是DLL中的C++代码中的C++ nullptr。

我想知道在Node中正确传递文件指针的ref.type是什么。我尝试过空指针、空指针、字符串和对象,但当我在客户机代码中尝试时,它们都会使应用程序崩溃:

代码语言:javascript
复制
var file_name = "test.json";
greenbuild.GB_Build(file_name)

谢谢你的帮助。我找不到关于Node-FFI中文件指针的堆栈溢出的另一个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-11 20:45:33

对于其他有这个问题的人来说,由于这个问题没有得到任何回答,答案似乎是Node-FFI根本没有文件指针。您必须将C或C++的源代码改为char *。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50954641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档