加载中...

Emscripten 是把 C/C++ 等 LLVM 系语言编译到 WebAssembly(早期为 asm.js)的完整工具链,由 Alon Zakai 于 2010 年发起,是「让原生代码跑进浏览器」这一方向的开创者与事实标准。
以 emcc 替代 gcc/clang 调用,前端仍是 Clang/LLVM,后端生成 Wasm;同时提供 POSIX 兼容层:用 JavaScript 模拟文件系统(MEMFS)、把 OpenGL 映射到 WebGL、SDL 映射到浏览器 API,并生成胶水 JS 处理模块加载与 JS/Wasm 互调(ccall、Embind)。
Unity 与 Unreal 的 Web 导出、AutoCAD Web、Google Earth Web、FFmpeg/OpenCV/SQLite 的浏览器移植等大量标志性案例均由 Emscripten 构建。
它证明了浏览器可以承载重量级原生代码库,直接推动了 asm.js 与 WebAssembly 标准的诞生;对不依赖浏览器 API 的场景,WASI 与 wasi-sdk 是更精简的替代。

登录 后参与讨论
暂无讨论,来发表第一条评论吧