【发布时间】:2013-03-31 16:32:05
【问题描述】:
我刚开始使用JavaScript V8 并从Embedder's Guide 编译了一个基本示例。现在我想将 C++ 函数绑定到 JavaScript 上下文。
目前我只有一个或多或少的空白类,稍后应该处理绑定。
class Manager
{
public:
Manager()
{
context = Context::New();
}
void Bind(string Name, function<Handle<Value>(const Arguments&)> Function)
{
// bind the function to the given context
}
private:
Persistent<Context> context;
};
如何将std::function 对象绑定到 JavaScript V8 上下文?
【问题讨论】:
-
我曾经将我的引擎中的函数与
void BindExample(v8::Handle<v8::ObjectTemplate> engine) { engine->Set(v8::String::New("FunctionInJS"), v8::FunctionTemplate::New(FunctionInCPP)); }之类的东西绑定在一起。这有什么帮助吗? -
这对我有帮助,但在您的示例中,名为 engine 的句柄到底是什么?但实际上主要问题是关于将
std::function作为参数传递。 -
请参考我在答案中的完整示例以及我对
std::function的尝试建议。
标签: javascript c++ binding v8 std-function