2026-04-20
C言語で作ったコンパクトなWasmランタイム、wasmrunに、外部関数呼び出し機能を追加しました。


wasmrun_set_import_funcを使って、呼び出される関数をセットするだけでOK!

extern void putchar(int ch); void main() { putchar(65); putchar(66); putchar(67); }

と作った、C言語のプログラム putchar.c を、C言語コンパイラyasacを使って、wasmに変換。

yasac putchar.c

putcharを外部関数としてセットした wasmrun_with_putchar.c をコンパイルしたランタイムを使って、実行。

ABC

と出力できました!


「wasmrun in C on GitHub」

いろんな環境に移植しやすい、C言語のコンパクトな実装、wasmrun、オープンソースです!

links
- やさしいC言語、Yasa-C - intとstructだけのCコンパイラ
- コンパクトなWasmランタイム、wasmrun

クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS