我使用“-shared”配置选项编译了NodeJ。在我的C++代码中,我在node中启动了一个脚本(在它自己的线程中):
node::Start(argc, argv);
我已执行以下javascript将对象放入全局空间:
global.someObject = new SomeObject;
我现在在C++中(在另一个线程上),我想访问全局“someObject”。我一直在考虑使用这些代码,但是孤立变量为NULL:
v8::Isolate* isolate = v8::Isolate::GetCurrent();
v8::HandleScope scope(isolate);
auto context = isolate->GetCurrentContext(); // no longer crashes
auto global_obj = context->Global();
v8::Local<v8::Value> objinfo = global_obj->GetHiddenValue(v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), "someObject"));
有什么建议或想法吗?