问题标签 [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 投票
2 回答
1376 浏览

c++ - 可以构建自定义 node.js 插件但不能包含

我正在编写一个由 C++ 与 C 程序混合的自定义 node.js 插件。

addon.cc 由类似的东西组成

它还包括其他 .cc 文件,所以 wscript 是这样的:

当我运行 node-waf 配置时,它显示:

当我运行 node-waf build 时,它显示:

但是当我在节点 REPL 中尝试以下操作时,它显示:

这很奇怪。我已检查该文件是否应与系统架构匹配:

通过查看 nm,它显示以下内容:

可能的原因是什么?是不是我不能只将 C 文件与 C++ 文件结合起来进行编译?我应该删除所有 malloc/realloc/free 吗?还是有其他可能的原因?

0 投票
6 回答
16508 浏览

node.js - 是否可以用 C(不是 C++)编写 node.js 扩展?

一个快速的谷歌搜索产生了至少一个为 node.js 编写C++“Hello World”的教程,但目前还不清楚是否可以只使用 C 来编写这样的扩展。假设有可能,我会面临哪些挑战/限制?

0 投票
4 回答
5816 浏览

c++ - 从 v8 函数中获取默认参数的最短方法(单线)?

自从我使用 C++ 以来已经有很长一段时间了,而且自从我把头转向硬类型以来甚至更久了。我只是在寻找一个可以工作的班轮来从 v8 获取参数,或者在未提供参数时获取默认值。

输出:

不幸的是,以下接近理想的解决方案对我不起作用(有什么想法吗?):

0 投票
1 回答
7978 浏览

c++ - *v8::String::Utf8Value(args[0]->ToString()) 不返回 node.js 插件参数的字符串

我发现 *v8::String::Utf8Value(args[0]->ToString()) 在节点 0.8.2 32 位上返回正确的字符串,并且在节点 0.8.8 64-上不返回正确的字符串少量。

有人明白为什么吗?

我的 node.js 插件看起来像这样:

如您所见,我正在为 C 函数 do_sqlsig 编写一个包装器。我对C非常了解,对C++知之甚少

0 投票
1 回答
1317 浏览

c - NodeJS-C 接口

我试图弄清楚如何在 C 库和 NodeJS 模块之间传递数据。我可以通过 NodeFFI 模块这样做吗?

还是我必须编写自己的 NodeJS 插件来开发 C-NodeJS 接口?

0 投票
1 回答
16384 浏览

c++ - 用于访问现有 C++ 功能的 node-ffi 与 node 扩展

我有一些现有的 C++ 代码,它们在独立的 C++ 应用程序中进行数值处理。我现在想在新的 node.js 应用程序中使用该代码。

研究如何从 node.js 访问 C++ 代码,出现了两个选项:

  1. 编写一个 node.js 扩展
  2. 使用node-ffi

node-ffi 似乎是访问现有的好选择,但是我是否正确地认为如果我使用 node-ffi 我必须编写一个 C 包装器才能使我的 C++ 可访问?(这是我可以使用 Visual Studio 在 Windows 上获得简单测试用例的唯一方法)。

对于我的源代码已经是 C++ 而不是 C 的情况,在上述两个选项之间进行选择的考虑因素是什么?

0 投票
4 回答
17772 浏览

node.js - 从 Node.js 调用 C++ 库(Node addons / node-ffi)

我正在尝试将外部 C++ 库(我可以访问 .so 文件以及头文件)集成到我的 Node.js 应用程序中。

经过大量研究,我的选择减少到:

  1. 编写节点插件

  2. 使用node-ffi

根据 node-ffi 的 gitHub 的定义,我无法判断它是否会直接在 C++ 库上工作:

node-ffi 是一个 Node.js 插件,用于使用纯 JavaScript 加载和调用动态库。它可用于创建与本机库的绑定,而无需编写任何 C++ 代码。

所以我的问题是:

  • 选项 1) 是否暗示以某种方式重写外部 C++ 库?
  • node-ffi 是否能够直接调用 C++ 库而无需我必须编写任何类型的 C 包装器?

我不是 C/C++ 方面的专家,所以如果我错过了一些基本的内容供您回答,请告诉我,以便我改进我的问题。

0 投票
1 回答
161 浏览

c++ - 节点插件和 v8 GlobalTemplate

我正在使用节点构建节点插件,0.10.17并且在我的一堂课中我正在制作 v8 的上下文。我有这个代码:

->Set()这在函数调用中给了我例外。该应用程序正在崩溃。

我应该怎么办 ?

0 投票
3 回答
7094 浏览

c++ - 可以在 Go 中编写原生 Node.js 扩展,而不是 C++ 吗?

这就是我的问题的全部内容,真的,但我认为回答这个问题很有趣。

0 投票
1 回答
341 浏览

c++ - node.js c++ 插件:返回新副本

我正在编写一个 node.js 插件,但在实现返回对象副本的克隆方法时遇到问题。

这是我的实现,这是不正确的,因为它在没有句柄时不调用析构函数: