こんにちは、CX事業本部のうらわです。 最近、WebAssembly(以下、WASM)を勉強しています。 C/C++の場合、Emscriptenを使ってWASMにコンパイルできます。この手順はMDN Web Docsにも日本語の記事があります。 今回はEmscriptenではなくClangを使用してC++のコードをWASMにコンパイルする方法を試します。すでに2年前ではありますが、LLVM8.0からターゲットとして生成するバイナリにWASMが正式に対応しています。 参考: WebAssemblyに正式対応した「LLVM 8.0」がリリース また、ブラウザ外で実行するためのWASMランタイムはwasmtimeを使用します。 環境 Macで実施します。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.15.7 BuildVersion: 1