登录
注册
node.js 学习社区
为nodejs写C++拓展(六)node4.1 HelloWorld

真马克

2015-09-18 21:00

最近nodejs发布了新版本..而且,这个版本跟以前的版本有不少变化..连node-cpp拓展方法都(you)改了...

但是,写拓展的准备工作 及写拓展基本思路都没什么变化.想了解其思路的,可以戮这里:http://www.nodeclass.com/articles/99934  http://www.nodeclass.com/articles/29989

顺便说一下:如果在windows平台下写nodejs4.1的CPP拓展,是需要vs2013或者以上的版本才行的.

先做一个"hello world"的demo(基于官方例子小改了下).

结果如图:

js代码:


var helloworld = require('./Release/binding');
console.log(  helloworld.getHello() );


cpp代码:


#include <node.h>

namespace demo
{
using v8::FunctionCallbackInfo;
using v8::HandleScope;
using v8::Isolate;
using v8::Local;
using v8::Object;
using v8::String;
using v8::Value;

void Method(const FunctionCallbackInfo<Value>& args) {
  Isolate* isolate = args.GetIsolate();
  
  args.GetReturnValue().Set(String::NewFromUtf8(isolate, "HELLO WORLD!!!!"));
}

void init(Local<Object> exports) {
  NODE_SET_METHOD(exports, "getHello", Method);
}

NODE_MODULE(addon, init)

} 

binding.gyp


{
  'targets': [
    {
      'target_name': 'binding',
      'sources': [ 'binding.cc' ]
    }
  ]
}


附上几张图:






回复 · 2

发表回复

你可以在回复中 @ 其他人