使用 WebAssembly 开发有很多不同的方向,这取决于你已经知道的东西和你想建立的东西。
在过去的几十年里,Web 浏览器作为最流行的跨平台应用经久不衰。从另一个角度看浏览器,它是最受欢迎的应用交付平台之一。想想你使用的所有网站,它们取代了你过去用桌面上运行的软件进行的活动。你仍然在使用软件,但你是通过浏览器来访问它,而且是在别人的 Linux 服务器上运行。在优化我们所有人使用的软件的永恒努力中,软件开发世界早在 2019 年就引入了 WebAssembly,作为通过 Web 浏览器运行编译代码的一种方式。应用的性能比以往任何时候都要好,而且可以生成 WebAssembly 编码的语言远不只是通常的 PHP、Python 和 JavaScript。
一个目标和一种语言
关于 WebAssembly 的一个强大但也最令人困惑的地方是,“WebAssembly” 这个词既指一种语言,也指一个目标。WebAssembly 是一种汇编语言,但没有多少人选择直接用汇编写代码。即使是汇编语言,最终也会被转换为二进制格式,这也是计算机运行代码的要求。这种二进制格式也被称为 WebAssembly。不过这很好,因为这意味着你可以用你选择的语言来写一些最终以 WebAssembly 交付的东西,包括 C、C++、Rust、Javascript 和其他许多语言。
进入 WebAssembly 的途径是 Emscripten,这是一个 LLVM 编译器工具链,可以从你的代码中产生 WebAssembly。
安装 Emscripten
要在你的 Linux 或 macOS 电脑上安装 Emscripten,请使用 Git:
$ git clone https://github.com/emscripten-core/emsdk.git
改变目录进入 emsdk
目录并运行安装命令:
$ ./emsdk install latest
$ ./emsdk activate latest
Emscripten 工具链中的所有内容都安装在 emsdk
目录下,对系统的其他部分没有影响。由于这个原因,在使用 emsdk
之前,你必须 源引 source 它的环境:
$ source ./emsdk_env.sh
如果你打算经常使用 emsdk
,你也可以在 .bashrc
中加入环境设置脚本。
要在 Windows 上安装 Emscripten,你可以在 WSL 环境下运行 Linux。
请访问 Emscripten 网站 了解更多安装信息。
Hello World
下面是一个用 C++ 编写的简单的 “Hello World” 应用。
#include
using namespace std;
int main() {
cout