使用C++为node.js写扩展模块

快乐打工仔 分类:实例代码

提前准备工作:安装好node.js、Python2.7与visual studio 2013。

过程如下:

首先安装GYP项目生成工具,npm install -g node-gyp 。

建立test目录,这是我们的工作目录,在此目录下再建一个src目录,用来存放C++源代码,另新建一个名为binding.gyp的文本文件,这是gyp的项目文件,内容如下:

{
  'targets':[{
    'target_name':'hello',
    'sources':['src/hello.cc']
  }]
}

再写一个简单的hello.cc,内容如下:

#include <node.h>
using namespace v8;
  
Handle<Value> Hello(const Arguments& args) {
 HandleScope scope;
 return scope.Close(String::New("Hello world!"));
}
  
void init(Handle<Object> target) {
 NODE_SET_METHOD(target, "hello", Hello);
}
  
NODE_MODULE(hello, init)

然后运行命令: node-gyp configure

如果正确运行的话,会出现一个目录----build,其下为你生成了vs2013的项目文件,这样就可以在vs2013中进行编辑与编译了。

当然也可以直接用命令 node-gyp build进行编译。

测试js程序如下:

var hello = require('./hello');
console.log(hello.hello());
网站出售中,有意者加微信:javadudu

回复

我来回复
  • 暂无回复内容