NodeJS-C接口

NodeJS-C接口,c,node.js,node.js-addon,node-ffi,C,Node.js,Node.js Addon,Node Ffi,我试图弄清楚如何在C库和NodeJS模块之间传递数据。 我是否可以通过NodeFFI模块执行此操作 或者我必须编写自己的NodeJS插件来开发C-NodeJS接口 节点ffi的文档说明: node ffi是一个node.js插件,用于使用纯JavaScript加载和调用动态库。它可以用来创建绑定到本地库而不编写任何C++代码。 您只需访问节点ffi中所述的库以及其他地方的通过结果。在他们的资料来源中,他们有一个例子。假设它们位于同一目录中: 文件factorial.c: #include <

我试图弄清楚如何在C库和NodeJS模块之间传递数据。 我是否可以通过NodeFFI模块执行此操作


或者我必须编写自己的NodeJS插件来开发C-NodeJS接口

节点ffi的
文档说明:

node ffi
是一个node.js插件,用于使用纯JavaScript加载和调用动态库。它可以用来创建绑定到本地库而不编写任何C++代码。 您只需访问
节点ffi
中所述的库以及其他地方的通过结果。在他们的资料来源中,他们有一个例子。假设它们位于同一目录中:

文件
factorial.c

#include <stdint.h>

uint64_t factorial(int max) {
  int i = max;
  uint64_t result = 1;

  while (i >= 2) {
    result *= i--;
  }

  return result;
}
使用该模块,C文件将加载以下内容:

var libfactorial = ffi.Library('./libfactorial', {
  'factorial': [ 'uint64', [ 'int' ] ]
});
然后像这样访问:

//process.argv are the command line arguments
var argument = parseInt(process.argv[2]);
var output = libfactorial.factorial(argument);

节点ffi
文档说明:

node ffi
是一个node.js插件,用于使用纯JavaScript加载和调用动态库。它可以用来创建绑定到本地库而不编写任何C++代码。 您只需访问
节点ffi
中所述的库以及其他地方的通过结果。在他们的资料来源中,他们有一个例子。假设它们位于同一目录中:

文件
factorial.c

#include <stdint.h>

uint64_t factorial(int max) {
  int i = max;
  uint64_t result = 1;

  while (i >= 2) {
    result *= i--;
  }

  return result;
}
使用该模块,C文件将加载以下内容:

var libfactorial = ffi.Library('./libfactorial', {
  'factorial': [ 'uint64', [ 'int' ] ]
});
然后像这样访问:

//process.argv are the command line arguments
var argument = parseInt(process.argv[2]);
var output = libfactorial.factorial(argument);