add wasi
This commit is contained in:
9
wasi/Cargo.toml
Normal file
9
wasi/Cargo.toml
Normal file
@@ -0,0 +1,9 @@
|
||||
[package]
|
||||
name = "wasi"
|
||||
version = "0.1.0"
|
||||
authors = ["Hatter Jiang <jht5945@gmail.com>"]
|
||||
edition = "2018"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
39
wasi/README.md
Normal file
39
wasi/README.md
Normal file
@@ -0,0 +1,39 @@
|
||||
|
||||
```shell
|
||||
rustup target add wasm32-wasi
|
||||
```
|
||||
|
||||
```shell
|
||||
cargo build --target=wasm32-wasi
|
||||
```
|
||||
|
||||
```shell
|
||||
$ ls target/
|
||||
debug wasm32-wasi
|
||||
```
|
||||
|
||||
|
||||
运行时(Runtime)
|
||||
运行这个文件,需要一个运行时(Runtime)。你也可以把这个理解成一个“容器”,“虚拟机”什么的,都行。但是准确的叫法是:运行时。
|
||||
|
||||
目前常见的运行时有 wasmtime,wasmer 等。
|
||||
|
||||
我们这次用 wasmtime 来运行吧。
|
||||
|
||||
`curl https://wasmtime.dev/install.sh -sSf | bash`
|
||||
|
||||
or download from:
|
||||
|
||||
https://github.com/bytecodealliance/wasmtime/releases
|
||||
|
||||
|
||||
```
|
||||
$ wasmtime --dir=. target/wasm32-wasi/debug/wasi.wasm
|
||||
Hello, world!
|
||||
```
|
||||
|
||||
|
||||
|
||||
https://mp.weixin.qq.com/s/VYkUvD1NpRdx_qoIdCCq8w - _【Rust每周一知】Rust, wasm, wasi 试玩儿_
|
||||
|
||||
|
||||
10
wasi/src/main.rs
Normal file
10
wasi/src/main.rs
Normal file
@@ -0,0 +1,10 @@
|
||||
use std::fs::File;
|
||||
use std::io::prelude::*;
|
||||
|
||||
fn main() -> std::io::Result<()> {
|
||||
let mut file = File::create("foo.txt")?;
|
||||
file.write_all(b"Hello, world!")?;
|
||||
println!("Hello, world!");
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user