- WebAssembly 教程
- WebAssembly - 主页
- WebAssembly - 概述
- WebAssembly - 简介
- WebAssembly-WASM
- WebAssembly - 安装
- WebAssembly - 编译为 WASM 的工具
- WebAssembly - 程序结构
- WebAssembly - JavaScript
- WebAssembly - Javascript API
- WebAssembly - 在 Firefox 中调试 WASM
- WebAssembly - “你好世界”
- WebAssembly - 模块
- WebAssembly - 验证
- WebAssembly - 文本格式
- WebAssembly - 将 WAT 转换为 WASM
- WebAssembly - 动态链接
- WebAssembly - 安全
- WebAssembly - 使用 C
- WebAssembly - 使用 C++
- WebAssembly - 使用 Rust
- WebAssembly - 使用 Go
- WebAssembly - 使用 Nodejs
- WebAssembly - 示例
- WebAssembly 有用资源
- WebAssembly - 快速指南
- WebAssembly - 有用的资源
- WebAssembly - 讨论
WebAssembly - 安装
在本章中,将学习如何安装 Emscripten SDK 来编译 C/C++。Emscripten 是一个低级虚拟机 (LLVM),它采用 C/C++ 生成的字节码并将其编译为可以在浏览器内轻松执行的 JavaScript。
要将C/C++编译为WebAssembly,我们需要首先安装Emscripten sdk。
安装Emscripten sdk
安装 Emscripten sdk 的步骤如下 -
步骤 1 - 克隆 emsdk 存储库: git clone https://github.com/emscripten-core/emsdk.git。
E:\wa>git clone https://github.com/emscripten-core/emsdk.git Cloning into 'emsdk'... remote: Enumerating objects: 14, done. remote: Counting objects: 100% (14/14), done. remote: Compressing objects: 100% (12/12), done. remote: Total 1823 (delta 4), reused 4 (delta 2), pack-reused 1809 receiving obje cts: 99% (1819/1823), 924.01 KiB | 257.00 KiB/s Receiving objects: 100% (1823/1823), 1.01 MiB | 257.00 KiB/s, done. Resolving deltas: 100% (1152/1152), done.
步骤 2 - 进入目录 emsdk。
cd emsdk
步骤 3 - 对于 Windows:执行以下命令。
emsdk install latest
对于 Linux,此命令将需要一些时间来安装必要的工具,如 java、python 等。请遵循下面提到的代码 -
./emsdk install latest
步骤 4 - 要激活最新的 SDK,请在终端中执行以下命令。
对于 Windows,执行以下命令 -
emsdk activate latest
对于 linux,执行下面提到的命令 -
./emsdk activate latest
步骤 5 - 要激活 PATH 和其他环境变量,请在终端中运行以下命令。
对于 Windows,执行命令 -
emsdk_env.bat
对于 Linux,执行以下命令 -
source ./emsdk_env.sh
我们已经完成 emsdk 的安装,现在可以编译 C 或 C++ 代码。C/C++的编译将在接下来的章节中完成。
要编译任何 C 或 C++ 代码,请执行以下命令 -
emcc source.c or source.cpp -s WASM=1 -o source.html
输出将为您提供 source.html 文件、source.js 和 source.wasm 文件。js 将具有获取 source.wasm 的 api,当您在浏览器中点击 source.html 时,您可以看到输出。
要获取 wasm 文件,您可以使用以下命令。此命令只会为您提供 source.wasm 文件。
emcc source.c or source.cpp -s STANDALONE_WASM