我看到了以下问题和答案 从嵌入式 v8 调用 WebAssembly,无需 JS 我尝试使用最新版本的 v8 运行“解决方案”中的代码,但它无法编译,因为
WasmCompiledModule::DeserializeOrCompile API is obsolete in V8 8.3 and later.
最新版本中WasmCompiledModule::DeserializeOrCompile API
的替代API是什么?
还有, wasm-c-api 我知道这是一件很棒的事情,但如果可能的话,我想学习如何自己完成这一切。
最新版本中
API 的替代 API 是什么?WasmCompiledModule::DeserializeOrCompile
正如链接问题的答案已经提到的:
下个版本将更名为
v8::WasmModuleObject
事实上,
v8::WasmModuleObject
仍然存在于最新的 V8 版本中。
另外,我知道 wasm-c-api 很棒,但如果可能的话,我想学习如何自己完成这一切。
这不是同一件事。
如果你想使用 V8 的 Wasm 引擎而不通过 JS,那么 V8 的 wasm-c-api 实现是你唯一的选择。
如果您想使用 V8 的常规基于 JS 的 API(包括
v8::WasmModuleObject
),那么所有进出 Wasm 的调用都将通过底层的 JS 包装器。您不一定需要自己编写任何 JS,但相应的 V8 API 函数会在内部创建 JS 对象/函数,而 wasm-c-api 则不会。
也就是说,使用常规 V8 API 的好处在于它的功能更加丰富。现代 Wasm 模块可能会导入诸如 strings 和正则表达式处理函数之类的东西,而 wasm-c-api 还不支持这些功能(还?)。