【问题标题】:Node Addons and v8 GlobalTemplate节点插件和 v8 GlobalTemplate
【发布时间】:2013-09-20 12:04:12
【问题描述】:

我正在使用节点 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");
}

这在-&gt;Set() 函数调用中给了我异常。 应用程序正在崩溃。

我该怎么办?

【问题讨论】:

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


    【解决方案1】:

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

    你应该这样做:

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

    【讨论】:

    • 谢谢,这是一个愚蠢的错误。现在它在context = v8::Context::New(NULL, globalTemplate); 线上给出异常
    猜你喜欢
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    • 2012-06-12
    • 1970-01-01
    • 2014-04-04
    • 1970-01-01
    • 1970-01-01
    • 2015-08-16
    相关资源
    最近更新 更多