通常,WebAssembly编译器的host需要设置为目标平台的三个关键标识符之一,即“wasm32-unknown-unknown”(WebAssembly编译器使用于可嵌入Web浏览器的标准WebAssembly细节),“wasm32-unknown-emscripten”(适用于使用Emscripten编译器的WebAssembly细节),或者“wasm32-unknown-unknown-musl”(适用于使用MUSL库编译WebAssembly细节)。
以下是利用Rust语言和wasm-pack工具将Rust代码编译为WebAssembly的示例,其中host的值被设置为“wasm32-unknown-unknown”:
// main.rs
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
pub fn add(a: i32, b: i32) -> i32 {
return a + b;
}
在终端中运行以下命令,将Rust代码编译为WebAssembly:
$ wasm-pack build --target web --release
这将把Rust代码编译为WebAssembly,并将其输出到“pkg”文件夹中。其中,“--target web”参数指定了编译器的host为“wasm32-unknown-unknown”。