WebAssembly 上手
2019-05-30 23:49
3051 查看
环境配置通过官方 WebAssembly - Developer’s Guide 提供的安装配置步骤进行环境相关设置。这里以 macOS 为例。 下载工具链通过 clone emscripten 仓库到本地进行工具链(toolchain)的下载安装。 $ git clone https://github.com/emscripten-core/emsdk.git $ cd emsdk 安装及配置执行安装: $ ./emsdk install latest 激活工具链,生成相应环境配置: $ ./emsdk activate latest`./emsdk activate latest` 命令的输出 $ ./emsdk activate latest Writing .emscripten configuration file to user home directory /Users/wayou/ The Emscripten configuration file /Users/wayou/.emscripten has been rewritten with the following contents: import os LLVM_ROOT = '/Users/wayou/dev/emsdk/fastcomp/fastcomp/bin' BINARYEN_ROOT = '/Users/wayou/dev/emsdk/fastcomp' NODE_JS = '/Users/wayou/dev/emsdk/node/8.9.1_64bit/bin/node' SPIDERMONKEY_ENGINE = '' V8_ENGINE = '' TEMP_DIR = '/var/folders/qr/dlqjq3zj10xgf2xfx3mybn500000gn/T' COMPILER_ENGINE = NODE_JS JS_ENGINES = [NODE_JS] To conveniently access the selected set of tools from the command line, consider adding the following directories to PATH, or call 'source ./emsdk_env.sh' to do this for you. /Users/wayou/dev/emsdk:/Users/wayou/dev/emsdk/fastcomp/emscripten:/Users/wayou/dev/emsdk/node/8.9.1_64bit/bin Set the following tools as active: releases-fastcomp-3b8cff670e9233a6623563add831647e8689a86b-64bit node-8.9.1-64bit 小贴士:其中 install 过程会从 https://chromium.googlesource.com, https://storage.googleapis.com及 https://s3.amazonaws.com域下载东西,所以最好在命令行配置相应代理,否则安装会失败。 环境变量通过执行以下命令添加相应命令及目录到环境变量以方便调用: $ source ./emsdk_env.sh --build=Release 如果进行到这一步发生如下错误: $ source ./emsdk_env.sh --build=Release ./emsdk_env.sh (line 19): Missing end to balance this if statement if [ "$SRC" = "" ]; then ^ from sourcing file ./emsdk_env.sh called on standard input source: Error while reading file './emsdk_env.sh' 这多半是因为你用的 shell 是 fish 语法不兼容的原因。 两个解决办法:
$ bash ./emsdk_env.sh
$ source ./emsdk_env.fish 执行成功的输出: $ source ./emsdk_env.fish Adding directories to PATH: PATH += /Users/wayou/dev/emsdk Setting environment variables: EMSDK = /Users/wayou/dev/emsdk EM_CONFIG = /Users/wayou/.emscripten 检查安装完成上面步骤后,可通过运行 emcc --version命令查看是否安装成功: $ emcc --version`emcc --version` 命令的输出 $ emcc --version cache:INFO: generating system asset: is_vanilla.txt... (this will be cached in "/Users/wayou/.emscripten_cache/is_vanilla.txt" for subsequent builds) cache:INFO: - ok emcc (Emscripten gcc/clang-like replacement) 1.38.33 (commit 0490c5f7aaf0e61aafd3b4cfe22cc56b803026b1) Copyright (C) 2014 the Emscripten authors (see AUTHORS.txt) This is free and open source software under the MIT license. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 小贴士:新开命令行窗口或重启命令行后,需要重新执行 source命令,可将其添加到你所使用的命令行的配置文件中, .bash_profile, .zshrc,或 . 以 fish 为例: ~/.config/fish/config.fish.fish source "/Users/wayou/dev/emsdk/emsdk_env.fish"; 这样每次启动命令行后 emcc都是可用状态。 编译及运行安装配置完成后,便可以尝试编译并运行一个简单的 demo 程序了。 一些注意点:
编写 Hello World创建 hello.c文件并输出以下内容: hello.c #include <stdio.h> int main(int argc, char ** argv) { printf("Hello, world!\n"); } 编译执行以下命令进行编译: $ emcc hello.c -s WASM=1 -o hello.html 运行通过工具链中提供的 smrun来开启一个本地服务器以查看刚刚生成的程序: $ emrun --no_browser --port 8080 . 当然,使用其他任意 server 也是可以的,比如 Python 的: $ python -m http.server 8080 启动成功后浏览器访问 http://localhost:8080/hello.html。不出意外你会看到页面中 Emscripten 的控制台展示了 Hello, world!。 WebAssembly Hello Wrold 运行效果 相关资源 |
相关文章推荐
- LuaPlus上手(上)
- apache的开源项目-模板引擎(Velocity)_学习了两天就上手啦_源码下载
- MINA2 之快速上手指南
- Extjs4快速上手四——实现菜单
- 让vi变得上手而好用
- MongoDB快速上手PHP篇
- grunt 上手
- Microsoft Hyper-V Server 2012快速上手之前奏
- socket网络编程快速上手(二)——细节问题(4)
- iPad Air上手体验:更轻薄但不牺牲流畅性
- 翻译:Knockout 快速上手 - 2: 安装 knockoutJS
- C# Xml文档操作快速上手(.net 2.0)
- Ruby 神速上手教程发布了!
- Apache Commons DbUtils 快速上手
- Java3D快速上手
- 轻装依然是旗舰:OPPO Find 7轻装版上手体验
- MTK Android 菜鸟上手之旅
- Cage验证码生成器快速上手
- Cage验证码生成器快速上手
- Matlab S function 快速入门 快速上手 quick start