WebAssembly 开发者引导

栏目: 后端 · 前端 · 发布时间: 7年前

内容简介:WebAssembly 开发者引导

摘自: WebAssembly 中文网

原文地址: 开发者引导 - WebAssembly 中文网

欢迎加入 WebAssembly 交流QQ群:536971109

开发者引导

这个教程将一步一步指导你将一个简单的程序编译成 WebAssembly。

前置条件

想要编译成WebAssembly,你首先需要先编译 LLVM。这是运行后续 工具 的先决条件。

安装完毕后,确认 gitcmakepython 已经在你的环境变量里,可以使用。

编译 Emascripten

通过 Emscripten SDK 构建 Emscripten 是自动的,下面是步骤。

$ git clone https://github.com/juj/emsdk.git
$ cd emsdk
$ ./emsdk install sdk-incoming-64bit binaryen-master-64bit
$ ./emsdk activate sdk-incoming-64bit binaryen-master-64bit

这些步骤完成以后,安装完成。将 Emscripten 的环境变量配置到当前的命令行窗口下。

$ source ./emsdk_env.sh

这条命令将相关的环境变量和目录入口将会配置在当前的命令行窗口中。

在 Windows中, ./emsdk 使用 emsdk 代替, source ./emsdk_env.sh 使用 emsdk_env 代替。

编译并运行一个简单的程序

现在,我们已经有了一个完整的工具链,将简单的程序编译成 WebAssembly。不过,这里有一些值得提醒的地方:

  • 在使用 emcc 命令时,要带着 -s WASM=1 参数(不然,默认将会编译成asm.js)。
  • 如果我们想让 Emscripten 生成一个我们所写程序的HTML页面,并带有 wasm 和 JavaScript 文件,我们需要给输出的文件名加 .html 后缀名。
  • 最后,当我们运行程序的时候,我们不能直接在浏览器中打开 HTML 文件,因为跨域请求是不支持 file 协议的。我们需要将我们的输出文件运行在HTTP协议上。

下面这些命令可能让你创建一个简单的“hello word”程序,并且编译它。

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

我们可以使用 emrun 命令来创建一个 http 协议的 web server 来展示我们编译后的文件。

$ emrun --no_browser --port 8080 .

HTTP 服务开启后,您可以在浏览器中打开。如果你看到了“Hello,word!”输出到了 Emscripten 的 控制面板,恭喜你!你的 WebAssembly 程序编译成功了!

WebAssembly 开发者引导

可关注 WebAssembly 中文网微信公众平台,获取更多 WebAssembly 技术文章。

WebAssembly 开发者引导

扫码关注w3ctech微信公众号


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

High Performance Python

High Performance Python

Andrew Lewis / O'Reilly Media, Inc. / 2010-09-15 / USD 34.99

Chapter 1. Introduction Section 1.1. The High Performance Buzz-word Chapter 2. The Theory of Computation Section 2.1. Introduction Section 2.2. Problems Section 2.3. Models of Computati......一起来看看 《High Performance Python》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

html转js在线工具
html转js在线工具

html转js在线工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具