ユーザ用ツール

サイト用ツール


wasi

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
wasi [2022/12/26 11:01] – [コマンドライン実行環境] nullponwasi [2025/01/11 11:51] (現在) nullpon
行 1: 行 1:
-====== WASI ======+<markdown> 
 +WASI
  
 wasiはブラウザ以外でWebAssembly(wasm)を実行する際、システムリソース(ファイル、ネットワーク、時刻など)にアクセスするためのインターフェース仕様 wasiはブラウザ以外でWebAssembly(wasm)を実行する際、システムリソース(ファイル、ネットワーク、時刻など)にアクセスするためのインターフェース仕様
行 5: 行 6:
 ブラウザ以外でのwasm実行環境をwasiと呼ぶこともある ブラウザ以外でのwasm実行環境をwasiと呼ぶこともある
  
-===== コマンドライン実行環境 =====+## 実行環境 
 + 
 +### CLI
    
-  * wasmtime +  * [Wasmtime](https://wasmtime.dev/) 
-  * wasmer+  * [Wasmer - The Universal WebAssembly Runtime](https://wasmer.io/) 
 +  * [WasmEdge](https://wasmedge.org/
 + 
 +wasmtime、wasmerはbrewでインストール可能。wasmedgeはdockerイメージが配布されている 
 + 
 +### HTTPサーバ 
 +  
 +  * [Wasm Workers Server](https://workers.wasmlabs.dev/
 + 
 + 
 +## rustでwasmをビルドしてwasiで実行 
 + 
 +[wasmtim](https://wasmtime.dev/) をインストール 
 + 
 +``` 
 +brew install wasmtime 
 +``` 
 + 
 +wasm32-wasip1をビルドターゲットを追加 
 + 
 +``` 
 +rustup target add wasm32-wasip1 
 +``` 
 + 
 +プロジェクトの作成 
 + 
 +``` 
 +cargo init 
 +``` 
 + 
 +Cargo.tomlに以下を追加 
 + 
 +``` 
 +[[bin]] 
 +name = "hoge" 
 +path = "src/main.rs" 
 +``` 
 + 
 +コードを書く 
 + 
 +```rust 
 +fn main() { 
 +    println!("Hello, world!"); 
 +
 +``` 
 + 
 + 
 +ビルド 
 + 
 +``` 
 +cargo build --target wasm32-wasip1 
 +``` 
 + 
 +実行 
 + 
 +``` 
 +wasmtime target/wasm32-wasi/debug/hoge.wasm 
 +```
  
-macOSいずれもbrewでインストール可能+</markdown>
wasi.1672052484.txt.gz · 最終更新: 2022/12/26 11:01 by nullpon