- Hands-On Game Development with WebAssembly
- Rick Battagline
- 276字
- 2021-06-24 13:41:00
Emscripten
Now that we know what LLVM is, we can discuss Emscripten. Emscripten was developed to compile LLVM IR into JavaScript, but has recently been updated to compile LLVM into WebAssembly. The idea is that, when you get the LLVM compiler working, you can have the benefit of all the languages that compile to LLVM IR. In practice, the WebAssembly specification is still in its early days and does not support common language features such as GC. Therefore, only non-GC languages such as C/C++ and Rust are currently supported. WebAssembly is still in the early MVP phase of its development, but the addition of GC and other common language features are coming soon. When that happens, there should be an explosion of programming languages that will compile to WebAssembly.
When Emscripten was released in 2012, it was intended to be an LLVM-to-JavaScript compiler. In 2013, support was added for asm.js, which is a faster, easily optimized subset of the JavaScript language. In 2015, Emscripten began to add support for LLVM-to-WebAssembly compiling. Emscripten also provides a Software Development Kit (SDK) for both C++ and JavaScript that provides glue code to give users better tools for interaction between JavaScript and WebAssembly than those currently offered by the WebAssembly MVP alone. Emscripten also integrates with a C/C++-to-LLVM compiler called Clang, so that you can compile your C++ into WebAssembly. In addition, Emscripten will generate the HTML and JavaScript glue code you need to get your project started.
- 深入理解Spring Cloud與實(shí)戰(zhàn)
- 顯卡維修知識(shí)精解
- 電腦維護(hù)與故障排除傻瓜書(Windows 10適用)
- 辦公通信設(shè)備維修
- 深入淺出SSD:固態(tài)存儲(chǔ)核心技術(shù)、原理與實(shí)戰(zhàn)
- 計(jì)算機(jī)組裝·維護(hù)與故障排除
- 基于ARM的嵌入式系統(tǒng)和物聯(lián)網(wǎng)開發(fā)
- 現(xiàn)代辦公設(shè)備使用與維護(hù)
- 數(shù)字邏輯(第3版)
- Large Scale Machine Learning with Python
- BeagleBone Robotic Projects
- Spring Cloud微服務(wù)和分布式系統(tǒng)實(shí)踐
- 3D Printing Blueprints
- Building Machine Learning Systems with Python
- 微控制器的應(yīng)用