编译并运行第一个 WebAssembly 程序

🌙
手机阅读
本文目录结构

现在,我们有了完整的工具链,可用于将简单程序编译为 WebAssembly。

但是,还有一些注意事项:

注意事项

  • 如果我们要 Emscripten 生成运行我们程序的 HTML 页面,除了 Wasm 二进制文件和 JavaScript 包装器外,我们还必须指定带有。html 扩展名的输出文件名。
  • 最后,要真正运行该程序,我们不能简单地在 Web 浏览器中打开 HTML 文件,因为 file 协议方案不支持跨域请求。我们实际上必须通过 HTTP 提供输出文件。

代码

下面的命令将创建一个简单的 hello world 程序并进行编译。编译步骤以粗体突出显示。

$ mkdir hello
$ cd hello
$ cat << EOF > hello.c
#include <stdio.h>
int main(int argc, char ** argv) {
  printf("Hello, world!\n");
}
EOF
$ emcc hello.c -o hello.html

运行

要通过 HTTP 提供编译的文件,我们可以使用 Emscripten SDK 随附的 emrun Web 服务器:

$ emrun --no_browser --port 8080 .

HTTP 服务器运行后,可以在浏览器中将其打开 http://localhost:8080/hello.html

如果您在 Emscripten 控制台上看到 Hello, world!,那么恭喜您!您已经成功编译到 WebAssembly!

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了