WebAssembly

本文介绍了WebAssembly(WASM)模块的基本概念,包括其二进制和文本格式,以及编译、验证和执行的三个阶段。还提到了WABT工具箱及其在WASM处理中的应用,如WAT工具和CMake的关联。
摘要由CSDN通过智能技术生成

1、模块

模块是Wasm程序编译、传输和加载的单位。Wasm规范定义了两种模块格式:二进制格式和文本格式。

如果和传统汇编语言做类比,那么Wasm模块的二进制格式相当于目标文件或可执行文件格式;文本格式则相当于汇编语言。

使用汇编器可以把文本格式编译成二进制格式,使用反汇编器可以把二进制格式反编译成文本格式。

1.1 二进制格式

二进制格式是Wasm模块的主要编码格式,存储为文件时,一般以.wasm为后缀。

主要由高级语言编译器生成,也可以通过文本格式编译。

1.2 文本格式

文本格式主要是为了方便开发者理解Wasm模块,或者编写一些小型的测试代码。Wasm文本格式可以简写为WAT(WebAssembly Text),存储为文件时一般以.wat为后缀。

可以由开发者直接编写,也可以由二进制格式反编译生成。

2 执行

一个Wasm模块从二进制格式到最终被执行一共分为三个阶段:

  1. 解码:将二进制模块解码为内存格式。
  2. 验证:对模块进行静态分析,确保模块的结构满足规范要求,且函数的字节码没有不良行为。
  3. 执行:实例化和函数调用阶段。

3 工具

WABT是一个Wasm二进制工具箱(WebAssembly Binary Toolkit),提供了很多处理Wasm二进制格式的工具,包括WAT汇编器wat2wasm、反汇编器wasm2wat、Wasm二进制格式查看工具wasm-objdump、二进制格式验证工具wasm-validate等。

3.1 WABT安装

CMake是一个跨平台的编译工具,cmake能够输出各种各样的makefile或者project文件。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值