问题标签 [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.

0 投票
1 回答
3008 浏览

javascript - node-ffi:动态链接错误

我在Risk.dll 库中有一个C++ 方法(该角色正在杀死一些进程)。

另一方面,我正在开发一个在 Google Chrome 上运行的网络应用程序(使用 Nodejs 和 AngularJS)。当我通过浏览器单击一个按钮时,我希望能够通过我的 app.js 文件调用 C++ 函数。

我决定使用 Node-ffi,但我遇到了错误:

这是我在 javascript 上的代码:

在 C++ 中,我已经完成了

我想补充一点,当我想使用我的应用程序时,我的文件 Risk.dll 与我使用 Node 运行的文件 server.js 位于同一个文件中。

有什么线索吗?

0 投票
0 回答
887 浏览

c - NodeJS / node-ffi:内存泄漏/变量范围

我正在调查我的 nodejs 脚本中的内存泄漏。

请考虑以下代码块(整个源代码将在底部)。GetImage调用分配缓冲区的 C 函数,调用者有责任释放它。行后res.send(data),GC期间会var dataPtr被释放吗?

处理大约 20000 个请求后的错误消息:

NodeJS 的源代码:

C 共享库的源代码:

构建共享库的命令:

我使用 apache 基准测试工具使程序崩溃:

0 投票
1 回答
406 浏览

node.js - 如何在 Node.js 中处理 SlowBuffer?

现在我正在使用 Node.js 中的 dll 开发一个 USB 串行应用程序。如果无法打开 com 端口,此 dll 将返回 INVALID_HANDLE_VALUE。所以我想在 Node.js 中处理 ret 值。在这种情况下,我该如何处理?

我不确定如何比较 ret 值和 SlowBuffer。

动态链接库

带有 node-ffi 的 Node.js

0 投票
1 回答
1786 浏览

node.js - node-ffi 模块无法加载 32 位 C dll - 动态链接错误

我在尝试使用 nodejs-ffi 模块加载 C 32 位 DLL 时遇到了麻烦。这是我的代码:

运行时,node在Dynanic_library.js上抛出错误:74 Dynamic Linking Error

我正在使用 Typescript 但我很确定这与问题无关

谢谢你们的帮助!

0 投票
1 回答
2412 浏览

node.js - 将 unsigned char 缓冲区与 node-ffi 一起使用

我在使用带有 node-ffi 的缓冲区来调用以下库函数时遇到问题:

http://www.intra2net.com/en/developer/libftdi/documentation/group__libftdi.html#ga72d87e30015c98bd0be22e7c8c873345

我已经看到通过将“unsigned char buf [size]”作为 buf 参数传递给它。

所以用 ffi 我试试这个:

但我得到的结果是:

ftdi_read_data C 函数调用 usb_bulk_read(来自 libusb),它将 'char *' 作为它的缓冲区参数 - 我不确定这是否会影响任何东西..

http://www.intra2net.com/en/developer/libftdi/documentation/ftdi_8c_source.html#l01749

0 投票
13 回答
94880 浏览

javascript - 未捕获的错误:模块未自行注册

我尝试将 node-vlc 与 nw.js (v0.12.0-alpha2) 一起使用。当我在没有 nw.js 的情况下启动我的应用程序时,它可以工作,但是当我使用 nw.js 启动它时出现错误:

未捕获的错误:模块没有自行注册。”,来源:/home/alexis/Bureau/dev/jukebox/node_modules/vlc/node_modules/ffi/node_modules/bindings/bindings.js (84)

我用 nw-gyp 尝试了一些命令,但对我没有帮助。我在 Ubuntu 14、64 位。

0 投票
1 回答
737 浏览

c - 从 Node.js 访问 C 函数

我有一个要求,我必须访问 C 函数并将其公开为 API。我应该将它部署在 Node.js 服务器上。我不知道如何使用任何节点包访问 C 函数。我曾尝试使用node-ffi包,但在安装时它给了我错误:

请注意,我使用的是 Python 2.7 和 Windows 7(32 位)。

0 投票
1 回答
1724 浏览

javascript - 节点 ffi 结构变量数组

我正在使用 node-ffi 并且我有一个需要传递的结构。结构中的一些变量是数组。如何在 JavaScript 包装器中定义它?

C头文件:

JavaScript 包装器:

是否有教程指出可以传递给 node-ffi 的所有变量,任何人都可以指向我?(例如,我真的可以通过'uchar'吗?)

0 投票
1 回答
518 浏览

javascript - 如何在 NodeJS 中点击使用 ffi?

我正在为 Windows 创建一个机器人。要移动鼠标,这是我到目前为止的代码:

我需要一个使用 ffi (或任何其他方式)将单击给定坐标的函数,例如

0 投票
1 回答
1261 浏览

c - 无法使用 FFI 将结构内部的字符串数组传递给 C 函数

我正在尝试使用 FFI 将字符串数组传递给我的 C 函数

上述代码的 .C 文件

我得到如下输出:

  • 类型结构的第一个参数的值char**

    示例:ptrptr

  • 来自类型结构的第二个参数的值char[][]

    任何像 ▲é┌ 这样的垃圾值

即,当我将数组传递给char**类型时,我得到了正确的输出,但是当我试图将它传递给char*[]在结构中声明char[][]的格式 时,我得到一个垃圾值。

但是直接将字符串数组传递["aa","bb"]char*[]C 中的参数可以正常工作。当我在结构中使用它时,它对我不起作用。