Node Addons和v8 GlobalTemplate

时间:2013-09-20 12:04:12

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

我正在使用节点0.10.17构建节点插件,并且在我的一个类中,我正在创建v8的上下文。我有这段代码:

v8::Locker locker;
v8::HandleScope handle_scope;
v8::Handle<v8::ObjectTemplate> globalTemplate;

// vvv--------------- Exception here at ->Set()
globalTemplate->Set(v8::String::New("version"), v8::FunctionTemplate::New(NodeVersion));
context = v8::Context::New(NULL, globalTemplate);
if (context.IsEmpty()) {
      fprintf(stderr, "Error creating context\n");
}

这在->Set()函数调用中给了我异常。 应用程序刚刚破解。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

您的globalTemplate指针为空,因为您只创建了一个null v8 :: Handle。

你应该这样做:

v8::Handle<v8::ObjectTemplate> globalTemplate = v8::ObjectTemplate::New();