回顾,前文由node.js写的基于addon的hello world例子
#include <node.h>
#include <v8.h>
using namespace v8;
Handle<Value> Method(const Arguments& args) {
HandleScope scope;
return scope.Close(String::New("world"));
}
void init(Handle<Object> exports) {
exports->Set(String::NewSymbol("hello"),
FunctionTemplate::New(Method)->GetFunction());
}
NODE_MODULE(hello, init)
HandleScope scope
这是什么玩意,哪里才能获取到它的介绍。请留意代码段中using namespace v8
,实际上它调用了google v8的库,所以要了解node.js addon需要了解google v8引擎(以下简称v8)。
v8 是一个javascript解释引擎,跟传统javascript引擎不同,主要有四个特性
- 快速的属性访问
- 动态机器码生成
- 高效的垃圾收集
- 内联缓存机制