問題タブ [webassembly]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1079 参照

javascript - ホスト JS と Wasm モジュール間のメモリ アクセスを調整するにはどうすればよいですか?

現在、Webassemblyは少数のパラメータ タイプ、つまり固定サイズの整数と浮動小数点数のみをサポートしています。これは、数値を受け入れて返す C/Rust モジュールからのみ関数を定義してエクスポートできることを意味します。

ただし、Mozilla Developer Network によると、ホストの Javascript からモジュールのメモリを操作できます。

JavaScript または WebAssembly コードで作成された [M]emory は、JavaScript と WebAssembly の両方からアクセスおよび変更可能になります。

これは非常に有望に思えます。これは、メモリの一部を、言語の壁を越えてより複雑なデータをやり取りするためのバイト バッファーとして指定できることを示しています。モジュール内の関数は、ポインター (それ自体i32は固定サイズの整数) を受け入れて返すことができるため、現在の制約内で機能します。

残念ながら、このメモリをどのように管理すればよいかは明確ではありません。JS から Wasm プロセスにデータを渡す必要がある場合、Memory オブジェクトに直接書き込む必要がありますが、Memory のどの領域が空いているかわかりません。

最も安全な戦略は何ですか?Wasm への呼び出しの前に JS がメモリを要求する方法を提供する -and- -style 関数mallocのペアをエクスポートする必要がありますか? freeそれとも、確立されたベストプラクティスはありますか?

0 投票する
2 に答える
542 参照

python - emsdk がインストールされていない Web アセンブリ

トレースバック (最新の呼び出しが最後): ファイル "C:\emsdk\emsdk"、2199 行目、sys.exit(main()) ファイル "C:\emsdk\emsdk"、1853 行目、main if len(sys. argv) <= 1 または sys.argv[1] == 'help' または sys.argv[1] == '--help': TypeError: タイプ 'filter' のオブジェクトに len() がありません

以下のコマンドで emsdk をインストール中にエラーが発生しました

emsdk install --build=リリース sdk-incoming-64bit binaryen-master-64bit

0 投票する
1 に答える
1537 参照

webassembly - setjmp/longjmp は WebAssembly でどのように実装されますか?

WebAssembly MVP を見始めたところですが、スタックとスタック ポインター、または構造化された例外処理サポート (スロー/キャッチ) などへのアクセスがないことに気付きました。

C のコンパイル ターゲットであることが想定されているため、setjmpandを実装することは確実に可能であるに違いありませんがlongjmp、これがどのようにうまく行われるかはわかりません。この構造は無駄にどのように見えますか?