明らかに、これは英単語であり、かつ複合語です。
web + assembly
assembly は多くの中国人が意味を知らないかもしれませんが、私がその翻訳を言えば、すぐにわかるでしょう。それはアセンブリ言語です。
その名前から明らかなように、WebAssembly は Web 上のアセンブリ言語です。
したがって、理論的には、アセンブリ言語にコンパイルできるすべての高水準言語は、コンパイラを介して wasm に変換できます。
wasm には.wat と.wasm の 2 つの拡張子があります。
wat は WebAssembly テキスト表示形式です。
内容はおおよそ次のようになります
(module (func $mul (param $factor1 i32) (param $factor2 i32) (result i32) local.get $factor1 local.get $factor2 i32.mul) (export "mul" (func $mul)))
wasm はバイナリ形式です
![Pasted image 20240216144348.png]
Emscriptenを使用して、高水準言語のコードを wasm にコンパイルできます。
$ emcc hello.c -o hello.html
これにより、コンパイルされたバイナリファイルと HTML ラッパーが返されます。 wasm の実行状況は HTML のコンソールを開いて確認できます。
または、js ラッパーを使用することもできます。Node.js 環境で直接実行できます。私は通常、VSCode の Run Code プラグインを使用します。
$ emcc hello.c -o hello.js
これが wasm の使い方です。それはほぼネイティブのアセンブリレベルの高性能を提供できるため、JavaScript で高負荷のタスクを計算するためによく使用され、モバイルデバイスのバッテリーを節約し、より良い実行体験を提供するのに役立ちます。