作品简介

WebAssembly是栈式虚拟机和字节码技术的最新应用,在Web开发、后端开发、区块链等领域大显身手,越来越受欢迎。本书是WebAssembly入门和进阶的必读书,它不仅对WebAssembly的工作原理、核心技术和规范进行了全面的剖析和解读,而且给出了实现WebAssembly解释器和AOT编译器的思路和代码。

本书共14章,分为四个部分:第一部分:WebAssembly概述(第1章)主要介绍了WebAssembly的概念、发展历史以及阅读本书需要做的准备工作。第二部分:二进制和文本格式(第2~4章)详细讲解了WebAssembly的二进制格式、文本格式以及指令集。

第三部分:虚拟机和解释器(第5~11章)详细讲解了WebAssembly的解释器和虚拟机的工作原理以及实现思路,包括操作数栈、内存、函数调用、控制指令、链接和实例化、错误处理和验证等。第四部分:WebAssembly进阶(第12~14章)深入地讲解了AOT编译器的实现思路和WebAssembly的提案等内容。

通过阅读本书,读者不仅可以理解WebAssembly核心原理,还可以学习如何实现WebAssembly解释器和AOT编译器。即收获了“鱼”,又学会了“渔”。

张秀宏,资深服务器开发工程师,在游戏服务器、区块链等领域有多年的开发和架构经验。曾在EA、乐元素、比特大陆等公司担任高级服务器工程师,对Java、Go、Lua等语言以及高级语言虚拟机有非常深入的研究。曾独立撰写畅销书《自己动手写Java虚拟机》和《自己动手实现Lua:虚拟机、编译器、标准库》,广受读者好评。《WebAssembly原理与核心技术》是作者在高级语言虚拟机领域的又一力作。

作品目录

  • 前言
  • 第一部分 概述
  • 第1章 Wasm介绍
  • 第二部分 二进制和文本格式
  • 第2章 二进制格式
  • 第3章 指令集
  • 第4章 文本格式
  • 第三部分 虚拟机和解释器
  • 第5章 操作数栈
  • 第6章 内存
  • 第7章 函数调用(上)
  • 第8章 控制指令
  • 第9章 函数调用(下)
  • 第10章 链接和实例化
  • 第11章 错误处理和验证
  • 第四部分 进阶
  • 第12章 编译为Wasm
  • 第13章 AOT编译器
  • 第14章 提案和前景
  • 附录A Wasm指令表
  • 附录B 二进制格式
  • 附录C WAT语法
展开全部