- 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.
- BeagleBone By Example
- micro:bit魔法修煉之Mpython初體驗
- 電腦軟硬件維修從入門到精通
- CC2530單片機(jī)技術(shù)與應(yīng)用
- 電腦高級維修及故障排除實戰(zhàn)
- Internet of Things Projects with ESP32
- 微型計算機(jī)系統(tǒng)原理及應(yīng)用:國產(chǎn)龍芯處理器的軟件和硬件集成(基礎(chǔ)篇)
- LPC1100系列處理器原理及應(yīng)用
- 圖解計算機(jī)組裝與維護(hù)
- 新編電腦組裝與硬件維修從入門到精通
- 3D Printing Blueprints
- FPGA實驗實訓(xùn)教程
- ARM接口編程
- Nagios系統(tǒng)監(jiān)控實踐(原書第2版)
- 計算機(jī)組裝與維護(hù)教程