Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

WebAssembly标准入门 PDF 下载


分享到:
时间:2022-06-17 10:43来源:http://www.java1234.com 作者:转载  侵权举报
WebAssembly是一种新兴的网页虚拟机标准,它的设计目标包括高可移植性、高安全性、高效率(包括载入效率和运行效率)、尽可能小的程序体积。本书详尽介绍了WebAssembly程序在JavaScrip
失效链接处理
WebAssembly标准入门  PDF 下载


下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版

用户下载说明:

电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/1711779527.html
 

相关截图:



资料简介:
WebAssembly是一种新兴的网页虚拟机标准,它的设计目标包括高可移植性、高安全性、高效率(包括载入效率和运行效率)、尽可能小的程序体积。本书详尽介绍了WebAssembly程序在JavaScript环境下的使用方法、WebAssembly汇编语言和二进制格式,给出了大量简单易懂的示例,同时以C/C 和Go语言开发环境为例,介绍了如何使用其他高级语言开发WebAssembly模块。 本书适合从事高性能Web前端开发、跨语言Web应用开发的技术人员学习参考,也可以作为WebAssembly标准参考手册随时查阅。 

资料目录:
第0章 WebAssembly诞生背景 1
 
0.1 JavaScript简史 1
 
0.2 asm.js的尝试 2
 
0.3 WebAssembly的救赎 5
 
第 1章 JavaScript语言基础 7
 
1.1 console对象 7
 
1.2 函数和闭包 9
 
1.3 Promise对象 12
 
1.4 二进制数组 13
 
第 2章 WebAssembly快速入门 17
 
2.1 准备工作 17
 
2.1.1 WebAssembly兼容性 17
 
2.1.2 WebAssembly文本格式与wabt工具集 19
 
2.2  例程 21
 
2.3 WebAssembly概览 22
 
2.3.1 WebAssembly中的关键概念 23
 
2.3.2 WebAssembly程序生命周期 24
 
2.3.3 WebAssembly虚拟机体系结构 25
 
2.4 你好,WebAssembly 25
 
2.4.1 WebAssembly部分 26
 
2.4.2 JavaScript部分 27
 
2.5 WebAssembly调试及代码编辑环境 28
 
第3章 JavaScript中的WebAssembly对象 31
 
3.1 WebAssembly对象简介 31
 
3.2 全局方法 32
 
3.2.1 WebAssembly.compile() 32
 
3.2.2 WebAssembly.instantiate() 33
 
3.2.3 WebAssembly.validate() 34
 
3.2.4 WebAssembly.compileStreaming() 35
 
3.2.5 WebAssembly.instantiateStreaming() 35
 
3.3 WebAssembly.Module对象 36
 
3.3.1 WebAssembly.Module() 36
 
3.3.2 WebAssembly.Module.exports() 37
 
3.3.3 WebAssembly.Module.imports() 38
 
3.3.4 WebAssembly.Module.customSections() 39
 
3.3.5 缓存Module 40
 
3.4 WebAssembly.Instance对象 41
 
3.4.1 WebAssembly.Instance() 41
 
3.4.2 WebAssembly.Instance.prototype.exports 42
 
3.4.3 创建WebAssembly.Instance的简洁方法 43
 
3.5 WebAssembly.Memory对象 44
 
3.5.1 WebAssembly.Memory() 44
 
3.5.2 WebAssembly.Memory.prototype.buffer 44
 
3.5.3 WebAssembly.Memory.prototype.grow() 47
 
3.6 WebAssembly.Table对象 50
 
3.6.1 WebAssembly.Table() 51
 
3.6.2 WebAssembly.Table.prototype.get() 52
 
3.6.3 WebAssembly.Table.prototype.length 54
 
3.6.4 在WebAssembly内部使用表格 55
 
3.6.5 多个实例通过共享表格及内存协同工作 57
 
3.6.6 WebAssembly.Table.prototype.set() 60
 
3.6.7 WebAssembly.Table.prototype.grow() 61
 
3.7 小结及错误类型 61
 
第4章 WebAssembly汇编语言 65
 
4.1 S-表达式 65
 
4.2 数据类型 66
 
4.3 函数定义 67
 
4.3.1 函数签名 67
 
4.3.2 局部变量表 68
 
4.3.3 函数体 68
 
4.3.4 函数别名 68
 
4.4 变量 69
 
4.4.1 参数与局部变量 69
 
4.4.2 变量别名 70
 
4.4.3 全局变量 70
 
4.5 栈式虚拟机 72
 
4.5.1 栈 72
 
4.5.2 WebAssembly栈式虚拟机 72
 
4.5.3 栈式调用 73
 
4.6 函数调用 75
 
4.6.1 直接调用 75
 
4.6.2 间接调用 76
 
4.6.3 递归 78
 
4.7 内存读写 79
 
4.7.1 内存初始化 79
 
4.7.2 读取内存 80
 
4.7.3 写入内存 81
 
4.7.4 获取内存容量及内存扩容 82
 
4.8 控制流 83
 
4.8.1 nop和unreachable 83
 
4.8.2 block指令块 83
 
4.8.3 if指令块 85
 
4.8.4 loop指令块 86
 
4.8.5 指令块的label索引及嵌套 86
 
4.8.6 br 87
 
4.8.7 br_if 89
 
4.8.8 return 90
 
4.8.9 br_table 90
 
4.9 导入和导出 91
 
4.9.1 导出对象 91
 
4.9.2 导入对象 93
 
4.10 start()函数及指令折叠 96
 
4.10.1 start()函数 96
 
4.10.2 指令折叠 97
 
第5章 WebAssembly二进制格式 99
 
5.1 LEB128编码 99
 
5.1.1 LEB128编码原理 99
 
5.1.2 无符号数的LEB128编码 100
 
5.1.3 有符号数的LEB128编码 101
 
5.2 头部和段数据 101
 
5.2.1 头部 101
 
5.2.2 段类型列表 101
 
5.2.3 段数据结构 102
 
5.3 内存段和数据段 104
 
5.3.1 内存段 104
 
5.3.2 数据段 105
 
5.4 表格段和元素段 106
 
5.4.1 表格段 107
 
5.4.2 元素段 108
 
5.5 开始段和函数索引 108
 
5.5.1 开始段 109
 
5.5.2 函数索引 110
 
5.6 全局段 111
 
5.6.1 全局变量索引 111
 
5.6.2 全局段编码方式 112
 
5.7 函数段、代码段和类型段 113
 
5.7.1 函数段、代码段和类型段之间的关系 113
 
5.7.2 更简单的例子 114
 
5.7.3 函数段 115
 
5.7.4 类型段 116
 
5.7.5 代码段 117
 
5.8 导入段和导出段 118
 
5.8.1 例子 118
 
5.8.2 类型段 119
 
5.8.3 导入段 119
 
5.8.4 导出段 120
 
5.9 自定义段 121
 
5.9.1 自定义段结构 122
 
5.9.2 模块的名字 122
 
5.9.3 全局变量的名字 123
 
5.9.4 函数的名字 124
 
5.9.5 局部变量的名字 124
 
5.10 补充说明 126
 
第6章 Em*en和WebAssembly 127
 
6.1 安装环境 127
 
6.1.1 emsdk命令安装 127
 
6.1.2 Docker环境安装 128
 
6.1.3 验证emcc命令 129
 
6.2 你好,Em*en! 129
 
6.2.1 生成wasm文件 130
 
6.2.2 浏览器环境 130
 
6.2.3 自动生成HTML测试文件 132
 
6.3 C/C 内联JavaScript代码 133
 
6.3.1 EM_ASM宏 133
 
6.3.2 EM_ASM_宏 134
 
6.3.3 EM_ASM_*宏 135
 
6.3.4 函数参数 137
 
6.3.5 注意问题 138
 
6.4 C/C 调用JavaScript函数 139
 
6.4.1 C语言版本的eval()函数 139
 
6.4.2 打造带参数的eval()函数 141
 
6.4.3 打造可变参数的eval()函数 143
 
6.4.4 eval()函数返回字符串 146
 
6.5 JavaScript调用C导出函数 149
 
6.5.1 调用导出函数 149
 
6.5.2 辅助函数ccall()和cwrap() 152
 
6.6 运行时和消息循环 155
 
6.6.1 Em*en运行时 155
 
6.6.2 消息循环 158
 
6.7 补充说明 162
 
第7章 Go语言和WebAssembly 163
 
7.1 你好,Go语言 163
 
7.2 浏览器中的Go语言 166
 
7.3 使用JavaScript函数 168
 
7.4 回调Go函数 170
 
7.5 syscall/js包 172
 
7.6 WebAssembly模块的导入函数 175
 
7.7 WebAssembly虚拟机 178
 
7.8 补充说明 180
 
附录 指令参考 181
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐