从NodeJS到C ++我如何传递参数并获得结果

时间:2016-02-16 06:36:06

标签: c++ node.js node.js-addon

我正在尝试将我的旧C ++项目与NodeJS集成。我已经看到hello word addon教程将简单的文件c ++文件构建到NodeJS中。我正在寻找一些先进的例子,如果有人正在构建从NodeJS到C ++的桥接器。我想将我的nodeJS程序(hello.js)中的数据传递给C ++程序(hello.cc)

感谢您的帮助

2 个答案:

答案 0 :(得分:2)

您可以在以下位置找到使用NAN创建原生插件的示例:

答案 1 :(得分:2)

您需要安装node-gyp - 您可能已经安装过 npm install -g node-gyp

有一个很好的例子请看看 https://gist.githubusercontent.com/bengfarrell/4440739/raw/56e8291a31eb8f9714f8ca975c1e78a0788ae018/randomcoords.cpp

如果您无法访问,请告诉我,我将在此处通过

运行此示例 像往常一样,你需要建立它 然后创建一个binding.gyp文件

{
  "targets": [
    {
      "target_name": "randomcoords",
      "sources": [ "randomcoords.cc" ]
    }
  ]
}

现在在这个c ++插件中你可以传递像这样的参数

var randCoords = require("./libs/build/Release/randomcoords.node");
var cursor = randCoords.getRandomCoords3D(600, 400, 100); // params are max values for random output
console.log('{ "x":' + cursor.x +  ', "y":' + cursor.y + ', "z":' + cursor.z + '}');

有一篇很好的短篇文章 http://www.benfarrell.com/2013/01/03/c-and-node-js-an-unholy-combination-but-oh-so-right/