参考《Getting started with embedding V8 · V8》
Templates
首先,C++函数,这里以文档中的 LogCallback 为例:
void LogCallback( const v8::FunctionCallbackInfo<v8::Value>& info ) {
if ( info.Length() < 1 ) return;
v8::Isolate* isolate = info.GetIsolate();
v8::HandleScope scope( isolate );
v8::Local<v8::Value> val = info[0];
v8::String::Utf8Value utf8( isolate, val );
printf( "%s\n", *utf8 );
}
然后,定义访问器,访问名称 log:
v8::Local<v8::ObjectTemplate> global = v8::ObjectTemplate::New( isolate );
global->Set( isolate, "log",
v8::FunctionTemplate::New( isolate
本文档介绍了如何通过V8引擎在JavaScript中调用C++函数。以LogCallback函数为例,详细阐述了定义C++模板及创建访问器的方法,使得在JS中能够直接调用这些C++定义的功能。
订阅专栏 解锁全文

2728

被折叠的 条评论
为什么被折叠?



