问题标签 [node.js-addon]

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 回答
748 浏览

c++ - node c++插件/v8/自定义依赖

我正在尝试使用 code::blocks 在 ubuntu 上构建一个节点 c++ 插件。我已经构建了一个依赖于另一个共享库 dep.so 的 addon.node 共享库。当创建我的基本 js 文件时

它给

我的 dep.so 文件在构建 addon.node 时包含在与 addon.node 相同的构建目录中

运行 ld addon.node 它提供(除其他外)

所以,似乎我有两个问题:1)它找不到我自己创建的 dep.so 库 2)它找不到 v8 库(我想这需要以某种方式构建)

有什么建议如何让它工作吗?

干杯,迈克

0 投票
1 回答
816 浏览

c++ - 使 v8 对象属性和方法对 JS 可见

我正在包装一个 C++ 对象,node::ObjectWrap并且我定义了一些方法,例如:

一切都按预期工作,我可以通过以下方式在 JS 中创建对象的实例:

所有方法都可以正常工作,但是当我尝试记录该函数时:

我期待看到类似的东西:

但我得到的是:

关于如何使这些可见(又名可枚举)的任何想法?

0 投票
2 回答
972 浏览

c++ - node-gyp 平台特定插件

是否可以指定某个本机插件仅适用于某个平台(例如:)win32

目前我有一个使用 Windows API 的 C++ 插件,但也node-gyp尝试为基于 UNIX 的系统构建它。

我一直在搜索node-gyp 文档NodeJS C/C++ 插件文档部分,但没有任何运气。

0 投票
1 回答
4463 浏览

c++ - 节点缓冲区到 char 数组

我有一个本机 NodeJS 插件,它接受一个Buffer实例作为它的参数之一。

我可以使用以下代码将char数组转换为 a Buffer,但寻找另一种方式。

0 投票
1 回答
2634 浏览

c++ - Node C++ 插件 - 当作为参数传递时,如何访问类型化数组 (Float32Array)?

我想使用 V8 Float32Array 数据结构。我怎样才能初始化它?

我也对直接内存访问数据感兴趣。那怎么可能呢?

0 投票
0 回答
120 浏览

javascript - node.js C++ 插件在 Linux 和 Windows 中的运行方式不同

我刚开始学习 node.js,尤其是它的 C++ 插件。我稍微修改了 hello world 示例,看看它是如何工作的。然后我发现它在 Linux 和 Windows 中的运行方式不同。

基本上,我添加了一个使用 cout 输出到控制台的内部函数。在 Linux 中,输出为

但在 Windows 中,它是

基本上输出的顺序是不同的。看来 Windows 输出是我所期望的。有什么想法我在这里想念的吗?谢谢!

你好.cc:

你好.js

0 投票
1 回答
1213 浏览

c++ - 如何从 NanAsyncWorker 返回一个新对象?

我正在开发 node.js/io.js 本机插件,我需要从异步回调创建一个新的本机对象。

使用 nan 助手,我得到了如下所示的内容:

如果无法访问 args 参数,我无法弄清楚如何包装对象。

帮助?

0 投票
1 回答
1300 浏览

c++ - 在 node.js 0.12.x 中使用 libuv 函数

我写了一个node.js的c++插件,在node.js 0.10.x下可以编译成功。但是当迁移到0.12.x时,出现几个错误,例如失败error C2065: “uv_work_t”:undeclared identifier。我想知道我是否可以在0.12.x中触摸libuv的api?
代码如下所示:

我改了async_hello参数,因为根据最新的node的API文档,它使用FunctionCallbackInfoArgumentsnode.js 0.10.x中没有使用)来接收js的参数。原始代码存储在这里,可以在node下编译成功。 js 0.10.x。

0 投票
1 回答
205 浏览

c++ - ofstream 不创建文件(Node.js 插件)

我正在尝试为 Node.js 创建一个插件,该插件(除其他外)使用ofstream.

如果PATH设置为与我的 Node.js 代码相同的目录(例如./license.txt),这可以正常工作。

但是,ofstream如果文件位于其他任何地方,则无法打开/创建相关文件。例如, using~/license.txt不起作用(注意:我正在运行 OSX)。

报告的错误总是No such file or directory- 即使在我物理创建之后~/license.txt

任何想法为什么这适用于一个目录而不是其他目录?如果这是权限问题,我会期待不同的错误消息。

作为记录,我已经看到了大约 20 个其他关于“ofstream 无法创建文件”的 SO 问题,但是将其他标志传递给open()没有效果。我感觉这在某种程度上与在 Node/V8 中运行有关。

0 投票
1 回答
273 浏览

c++ - GetLastInputInfo 在节点插件中失败

我的目标是制作一个模块,提供对用户最后一次交互的访问(客户端应用程序 - 不是服务器应用程序)。Windows API 有一个名为GetLastInputInfo( https://msdn.microsoft.com/en-us/library/windows/desktop/ms646302(v=vs.85).aspx ) 的函数。下面是应该加载时间信息的代码,last_input它返回 0/1 表示失败/成功。不幸的是,它每次都失败。

插件代码:

有什么想法吗?