问题标签 [node-ffi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 使用 node-ffi 处理 char*
我正在使用 node-ffi 加载一个库并调用一个返回 char* 的函数,该指针是在共享库中创建的。
我是否需要创建一个可以删除缓冲区的匹配函数?例如
主文件
测试.js
当我尝试这个时,我遇到了段错误。node-ffi 会自动创建副本吗?我应该如何正确地做到这一点?
javascript - 节点在尝试从 cpp dll 获取超过 500kb 的文本/json 数据时崩溃
//cpp代码
//节点代码
我可以获得更多的 1 mb 数据吗?如果没有,还有其他方法可以得到吗?
node.js - 使用 fastcall 访问 c++ 库的问题。(javascript、nodejs、外函数接口)
我尝试使用 fastcall,这是我第一次使用 fastcall 和外部函数接口,我尝试加载 datatable.dll 它抛出错误,尝试传递所有可能的库路径(绝对和相对)。使用 nodejs、fastcall、javascipt
我收到的错误是
node.js - DLL返回中文字符时node-ffi回调错误 *
我有一个 DLL,声明如下:
DLL下载:<a href="https://drive.google.com/file/d/13JinraIr3N_6V_VrIfgHyB4_jW2V1s0f/view?usp=sharing" rel="nofollow noreferrer">32位dll文件(谷歌驱动下载)
dll文件运行良好,使用QT加载并转换数据时使用local8bit
我使用 node.js 和 node-ffi 来加载它
我的环境:Windows7 64bit / Node.js 32bit
运行代码,“sorry”字符串前的������˼��������是中文
我该怎么办,或者将其转换为显示正确,谢谢。
javascript - Node-ffi 为 C 函数抛出“未定义符号”错误
我正在尝试使用 node-ffi 在 NodeJs中使用redir 。
这是我的redir.js
:
我通过做编译./autogen.sh && ./configure && ./make
并生成redir
可执行文件。我不得不将它重命名为,redir.so
因为 node-ffi 一直放在.so
文件的末尾
这是我做的时候得到的node redir.js
:
它无法找到该target_init
功能。我相信我做的一切都很好。可能是函数签名错误(我使用了错误的类型)还是意味着确实没有名称为函数target_init
?
更新:
我试图将它专门编译成一个共享库:
但是找不到的问题target_init
依然存在
javascript - 指向结构的节点 ffi 指针
首先,我在这里问是因为对于节点 ffi 中指针的使用没有一个快速的答案,也没有关于指向结构的指针,这会有所帮助
这是我的节点 ffi:
下面以 target_init 的签名为例:
这是我得到的:
我正在使用https://github.com/troglobit/redir/blob/master/redir.c并编译gcc -shared -fpic redir.c -o libredir.so
我怀疑这是一个问题,struct_sockaddr_in
但一切似乎都很好。我什至尝试像在https://github.com/node-ffi/node-ffi/wiki/Node-FFI-Tutorial#structs中那样做:
但现在我明白了
javascript - 如何将 ffi 连接到 node-webkit(nwjs)?
所以,我尝试在我的 node-webkit(nwjs) 应用程序中使用 ffi,但我的代码不起作用。有我的 index.html 文件:
很有趣的是我的脚本不起作用然后我尝试写这一行
var ffi = 需要('ffi');
而且无论我尝试在这条线之后运行什么,它都不起作用......
所以,在我翻遍了所有的互联网之后,我发现我需要以某种方式使用 nw-gyp。首先,我在我的项目文件夹中运行这个命令
npm 安装 ffi
然后我转到文件夹 ./node_modules/ffi 并尝试运行此命令:
nw-gyp 重建 --target=0.30.0 --arch=x64
我在控制台中有什么:
请帮帮我!
c++ - 将节点 js 代码集成到 cpp 库时出错
我正在尝试使用node-ffi库来调用 cpp 代码。
CPP代码
这用于
我正在通过以下node-ffi javascript 代码使用上面的 cpp 代码
该函数调用如下
我正在尝试使用
我收到以下错误:
TypeError:错误设置参数 10 - writePointer:缓冲区实例应为 Object.writePointer (/Users/..../node_modules/ref/lib/ref.js:742:11) 的 TypeError (native) 的第三个参数。在 Object.alloc (/Users/.../node_modules/ffi/lib/ref.js:516:13) 处设置 (/Users/.../node_modules/ffi/ref/lib/ref.js:484:13) ) 在 Object.lib.Init (/Users/.../src/Lib.js) 的 Object.proxy [as Init] (/Users/.../node_modules/ffi/lib/_foreign_function.js:50:22) :130:26)
c++ - c++ 文件指针的 Node-FFI 引用类型是什么?
我不知道在这种情况下使用哪种“参考”模块类型。
我有一个 DLL 函数,它返回一个布尔值并将文件指针作为参数:
和 Node-FFI 绑定:
“GB_Build”函数创建一个 json 文件,并根据文件是否创建返回一个布尔值。fname 代表“文件名”,是 DLL 内 C++ 代码中的 C++ nullptr。
我想知道在 Node-FFI 中正确传递文件指针的 ref.type 是什么。我尝试过空指针、空指针、字符串和对象,但是当我在客户端代码中尝试此操作时,它们都会使应用程序崩溃:
感谢您的任何帮助。我在 stackoverflow 上找不到关于 Node-FFI 中文件指针的另一个问题。