WebAssembly入门笔记[3]:利用Table传递引用
原文中文,约7000字,阅读约需17分钟。发表于: 。在《WebAssembly入门笔记[2]》中,我们介绍了如何利用Memory在作为宿主的JavaScript应用和wasm模块之间传递数据,但是Memory面向单纯二进制字节的读写在使用起来还是不太方便,此时我们会更多地用到另一个重要的对象Table。Table利用用来存储一组指定类型的对象,说得准确一点是对象的引用,所以可以读取出来直接消费。一、利用Table存储wasm函数引用二、执行call...
本文介绍了如何在WebAssembly中利用Table对象存储函数引用,并执行函数。Table可以存储wasm函数和JavaScript函数的引用。通过示例代码演示了将wasm函数存储在Table中供JavaScript应用调用的方法,以及如何通过call_indirect指令间接执行存储在Table中的wasm函数。同时,也介绍了Table无法直接存储JavaScript函数引用的限制,并提供了一种将JavaScript函数存储在Table中传入wasm模块执行的解决方案。