방금 JavaScript V8을 사용하고 Embedder's Guide에서 기본 예제를 컴파일했습니다. 이제 C++ 함수를 JavaScript 컨텍스트에 바인딩하려고합니다.std :: function을 JavaScript V8에 바인딩하는 방법은 무엇입니까?
당분간은 나중에 바인딩을 처리해야하는 빈 클래스 만 있습니다.
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;
};
내가 자바 스크립트 V8 컨텍스트에
std::function
개체를 결합 할 수있는 방법
?
내가 무효 BindExample'같은 내 엔진의 기능을 결합하는 데 사용 (V8 :: 처리 엔진) {엔진 -> 설정 (V8 :: 문자열 :: 새로운 ("FunctionInJS"), v8 :: FunctionTemplate :: New (FunctionInCPP)); }'. 어떻게 든 도움이 되나요? –
저에게 도움이되었지만, 당신의 예제에서 엔진이라는 핸들이 정확히 무엇입니까? 그러나 실제로 중요한 문제는'std :: function'을 매개 변수로 전달하는 것입니다. – danijar
'std :: function'에 대한 답과 제 제안에 대한 제 전체 예제를 참조하십시오. –