节点插件和 v8 全局模板
Node Addons and v8 GlobalTemplate
我正在使用节点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 contextn");
}
这让我在函数调用中->Set()
异常。应用程序刚刚中断。
我该怎么办?
你的globalTemplate
指针是空的,因为你只创建了一个空的 v8::Handle。
你应该做这样的事情:
v8::Handle<v8::ObjectTemplate> globalTemplate = v8::ObjectTemplate::New();
相关文章:
- 为什么在全局范围内使用"extern int a"似乎不行?
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 当vector是tje全局变量时,c++中vector的内存管理
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 如何创建一个空的全局类并在启动时实例化它
- 内联函数中具有内部链接的全局变量
- 为什么虚函数不能是静态的和全局的?
- 如何在信号处理程序和普通函数中对全局变量进行互斥读写操作
- 全局作用域中函数指针的赋值
- g++用户定义的动态链接库上的全局new和delete运算符
- 在命名空间中使用全局命名空间中的函数
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- 全局变量 多读取器 一个写入器多线程安全?
- 类的全局对象和静态成员
- 如何声明一个可以在整个程序中使用的全局 2d 3d 4d .. 数组(堆版本)变量?
- 如果全局变量默认是外部变量,为什么要添加"extern"关键字?
- 不同作用域中的静态变量和全局变量
- 如何在嵌入式V8中重置全局对象
- V8从C 中的nodejs提取全局对象
- 节点插件和 v8 全局模板