wasm_load

.wasm ファイルをロードしてハンドルを生成

wasm_load "path", var_hid

"path" : ロードする .wasm ファイルのパス
var_hid : ハンドル (>=0) または負のエラーコードを受け取る変数

(プラグイン / モジュール : hspwasm.dll)

解説

指定パスの .wasm バイナリを読み込み、Wasm3 にパース・リンクして
実行可能な状態にします。成功するとハンドル (0~15) が返ります。
16 個のスロットが全て埋まっている場合は -1 が返ります。

エラーコード:
  -1  : ハンドル満杯
  -2  : 環境確保失敗
  -3  : ランタイム確保失敗
  -4  : wasm パース失敗 (不正な wasm)
  -5  : wasm リンク失敗 (import 未解決等)
 -10  : ファイルが開けない
 -11  : ファイルサイズ 0
 -12  : 読み込み失敗
-100  : wasm3 が vendor されていない (stub ビルド)

関連項目

wasm_load_memメモリバッファから .wasm をロード(hspwasm.dll)
wasm_closeハンドルを解放(hspwasm.dll)

サンプル逆引き (1)

sample_wasm_shared.hsp

情報

プラグイン / モジュールhspwasm.dll
バージョン1.0
作成日2026-04-15
著作者IronHSP / hspwasm
URLhttps://github.com/inovia/IronHSP
備考hspwasm.dll は WebAssembly インタプリタ Wasm3 (pure C, ~150 KB) を
embed した薄いプラグインです。HSP から .wasm モジュールをロード
して、エクスポート関数を呼び出し、linear memory を読み書きできます。

v1 は compute 用途 (host imports / WASI なし) に特化しています。
Rust / Go / Zig / C / AssemblyScript で書いた計算処理をそのまま
.wasm として配布して HSP から呼ぶユースケースを想定しています。

HSP からは package/win32/common/iron_wasm.hsp を include して
wasm_call0 ~ wasm_call8 の固定アリティ糖衣を使うのが推奨です。
本ヘルプは生 API の説明です。

モジュールハンドルは 16 並列まで同時に保持できます。使い終わった
ものは wasm_close で解放してください。
タイプ拡張命令
グループhspwasm ― ロード / アンロード
対応環境
  • その他 : Win32 / Win64
hs ファイルhsphelp\hspwasm.hs