我希望能够实例化 C++ 类的实例并将其作为参数传递给 JavaScript 回调。该类继承自ObjectWrap
,可用于 Node.js 并在其中使用。
如果所述实例来自 JavaScript,我可以将同一类的实例传递给回调。
这是我需要做的一个基本示例:
MyClass *instance = new MyClass();
// If was passed as the first param to this method, commit is set as below, this code works.
// MyClass *instance = ObjectWrap::Unwrap<MyClass>(args[0]->ToObject());
// Assign some property values to commit
Handle<Value> argv[] = { instance->handle_ };
ar->callback->Call(Context::GetCurrent()->Global(), 1, argv);
这不起作用,而是出现段错误。gdb
告诉我:
Program received signal EXC_BAD_ACCESS, Could not access memory.
我如何修改我的代码以允许我将我的传递instance
给回调?
更新:有问题的课程可以在 Github 上查看:commit.cc。