c++ - Node Addons 和 v8 GlobalTemplate

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

我正在使用 Node 0.10.17 构建 Node 插件,并且在我的一个类(class)中我正在制作 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() 函数调用中给了我异常。 该应用程序刚刚中断。

我该怎么办?

最佳答案

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

你应该这样做:

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

关于c++ - Node Addons 和 v8 GlobalTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18916346/

相关文章:

c++ - 创建 WIN32 应用程序(面向对象)(C++)

c++ - 在 C++ 中的 vector 中存储具有双重继承的对象

c++ - C++ 与 D 中的 sizeof 运算符和对齐

node.js - 发回响应时发生 Sails 错误

javascript - Javascript 对象中的跨浏览器键查找性能

python - PyArg_ParseTupleAndKeywords 抛出警告 : ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]

javascript - Mongoose - 保存模型数组并 promise 全部

node.js 子进程在 Node webkit 中不起作用

c++ - 如何从 C++ 类内部获取 v8 对象

javascript - 如何使用 PyV8 从 python 读取 javascript 值