なぜ LOBSTER を WASM に変換するのですか?
.wasm にコンパイルすることで、Lobster ゲームやグラフィカルアプリをブラウザ上でネイティブに近い速度で実行できるようになります。Lobster のエンジンはすでに WebAssembly をサポートしているため、Emscripten ツールチェーンがコンパイルされたプログラムとそのアセットをウェブ対応ファイルにパッケージ化します。
LOBSTER から WASM への変換方法
Lobster --cpp の後に Emscripten make OPEN-SOURCE
まず lobster --cpp my.lobster を実行し(wasm ビルドには JIT がないため)、アセットを dev/emscripten/assets に配置します。次に dev/emscripten で make -j8 を実行して、lobster.wasm、lobster.js、lobster.html、lobster.data を生成します。
emrun で実行 OPEN-SOURCE
ビルドされたページを emrun --browser chrome lobster.html --verbose で起動し、ブラウザで WebAssembly ビルドをテストします。
Emscripten ツールチェーン FREE
wasm ビルドは Lobster が生成した C++ を Emscripten がコンパイルすることで進行するため、事前に Emscripten(および GNU make)をインストールしてアクティブ化しておく必要があります。
これらの形式について
.lobster ファイルは、Wouter van Oortmerssen 氏によって作成された、主にゲームやグラフィックスを目的とした Python 風のインデントを持つ静的型付け言語、Lobster プログラミング言語で書かれたソースコードを保持します。プレーンテキストであるため、任意のコードエディタで開いて読むことができ、Visual Studio Code では…
.LOBSTER の詳細を開く →.wasm ファイルは、コンパイルされた WebAssembly モジュールを保持します。これは C、C++、Rust などの言語から生成されたポータブルなバイナリバイトコードであり、ネイティブに近い速度で実行されます。ほとんどの .wasm…
.WASM の詳細を開く →品質と注意点
--cppステップをスキップすることはできません。WebAssembly ビルドには JIT がないため、最初に C++ コンパイルが必須です。.wasmが単独で動作することはありません。ブラウザには、付随するlobster.jsローダー、lobster.htmlページ、およびlobster.dataアセットバンドルが必要です。- アセットはビルド前に
dev/emscripten/assetsに配置する必要があります。これにより、Emscripten がそれらをlobster.dataにパックします。
よくある質問
WebAssembly の前に C++ にコンパイルする必要がありますか?
--cpp を実行し、その C++ を Emscripten でビルドする必要があります。ビルドによって生成されるファイルは何ですか?
dev/emscripten で make -j8 を実行すると、lobster.wasm、lobster.js、lobster.html、lobster.data が生成されます。wasm ビルドを実行するにはどうすればよいですか?
emrun --browser chrome lobster.html --verbose を使用して、ブラウザでページを提供し開きます。.wasm ファイルだけを配布できますか?
.js ランタイム、.html ローダー、および .data アセットバンドルも必要です。