generated at
Emscripten
LLVMを使ったC/C++をJS/WebAssemblyに変換するtoolchain

-s emccにcompile optionを渡す
一覧は src/settings.js から見れる
htmlで見れるようにしたもの

typescript
tsc
もう少し詳しい型定義もある
--pre-js で提供するJSで使えるobjectsの型定義
Module で使用するpropsは INCOMING_MODULE_JS_API で指定できる
その他、globalで使えるものは src/preamble.js で設定される
_malloc , _free は以前はdefaultで含めていたが、今は EXPORTED_FUNCTIONS に含めないと削られてしまう

code reading
src/*.m?jsがglue code生成時に挿入される
#IFDEFなどのC preprocessorが直打ちされており、compile optionによって生成されるコードが変わる

wasm-ldの概説
libclang_rt.builtins-wasm32.aが見つからないエラーの話がある
llvmの中間言語を介す
かなり原理的な話が解説されている
libclang_rt.builtins-wasm32.aが見つからないエラーの話がある
clang 17正式にsupport
wasm-ldを使わなくてもwasmを作れるようになった?

-sJSPI=1 で有効化
-sJSPI_EXPORTS で非同期化するwasmの函数を指定
-sJSPI_IMPORTS でwasmにわたすJSの非同期函数を指定


#2024-08-17 10:42:35
#2024-08-16 21:23:23
#2024-08-09 08:37:54