面试题答案
一键面试- 添加依赖:
在
Cargo.toml
文件中添加wasm - bindgen
依赖,这是用于将Rust函数导出为WebAssembly可调用接口的重要工具。[dependencies] wasm - bindgen = "0.2"
- 宏与函数定义:
使用
wasm - bindgen
提供的wasm_bindgen
宏来标记需要导出的函数。例如:
这里定义了一个简单的use wasm_bindgen::wasm_bindgen; #[wasm_bindgen] pub fn add_numbers(a: i32, b: i32) -> i32 { a + b }
add_numbers
函数,接收两个i32
类型的参数并返回它们的和,#[wasm_bindgen]
宏将这个函数标记为可导出为WebAssembly接口的函数。 - 编译设置:
确保安装了
wasm32 - unknown - unknown
目标:
编译时,使用rustup target add wasm32 - unknown - unknown
wasm - bindgen
工具将生成的WebAssembly文件进一步处理,使其能在JavaScript环境中调用。编译命令如下:
上述命令中,首先使用cargo build --target wasm32 - unknown - unknown wasm - bindgen target/wasm32 - unknown - unknown/debug/<your - crate - name>.wasm --out - dir pkg
cargo build
构建针对wasm32 - unknown - unknown
目标的WebAssembly文件,然后wasm - bindgen
工具将该WebAssembly文件处理后输出到pkg
目录,生成的文件可以在JavaScript项目中导入和使用。