
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
C言語で作った
