什么是WebAssembly
WebAssembly(简称Wasm)是一种新型的二进制代码格式,包含这种二进制代码格式的文件可以用类似加载模块的方式被浏览器快速、高效地解析和执行。
基本原理
【【wasm】入门】V8引擎在处理Wasm模块时省略了大量Pipeline中的环节。引擎并不需要对Wasm模块中的二进制代码进行优化,也不需要生成冗余的占用大量内存的AST结构信息。而只需要把这些模块中的二进制代码直接加载到内存中,然后经过位于 V8链路末端编译器后端的处理,最后生成的机器码便可以被浏览器直接执行。从Wasm模块被浏览器加载到最后执行的整个过程并不需要很多的处理环节和系统资源开销,而这也是Wasm应用为何会保持如此高性能的众多原因之一。
- webassembly.studio
- WasmFiddle
- 下载最新Python
- 克隆emsdk
git clone git@github.com:emscripten-core/emsdk.git
- 安装激活Emscripten(WIN)
./emsdk install latest
./emsdk activate latest
- 校验安装
emcc -v
简单的例子
- hello.c
# include int main() {
printf("你好, 世界!\n");
return 0;
}
- 生成wasm和js
emcc hello.c
-o
可以指定输出文件名称运行 新建html,并在服务器查看,控制会打印"你好, 世界!"
Document - 锐客网
WEB接口(TODO)
推荐阅读
- [公链观点] BTC 1.0, ETH 2.0, EOS 3.0, Dapp, WASM, DOT, ADA, VNT
- WebAssembly|WebAssembly 用在了哪里(18个激动人心的 Wasm 初创公司)
- python|python wasm_什么是 WebAssembly(wasm)()