
Halaman Proyek Utama: https://emscripten.org
Status GitHub CI:
Status Pembangun Chromium: Emscripten-Releases
Emscripten mengkompilasi C dan C ++ ke WebAssembly menggunakan LLVM dan Binaryen. Output emscripten dapat berjalan di web, di node.js, dan di wasm runtime.
Emscripten menyediakan dukungan web untuk API portabel yang populer seperti OpenGL dan SDL2, yang memungkinkan aplikasi asli grafis yang kompleks porting, seperti Unity Game Engine dan Google Earth. Ini mungkin juga dapat port basis kode Anda!
Sementara Emscripten sebagian besar berfokus pada kompilasi C dan C ++ menggunakan dentang, itu dapat diintegrasikan dengan kompiler yang menggunakan LLVM lainnya (misalnya, Rust memiliki integrasi emscripten, dengan target wasm32-unknown-emscripten dan asmjs-unknown-emscripten ).
Emscripten tersedia di bawah 2 lisensi, lisensi MIT dan lisensi open source University of Illinois/NCSA.
Keduanya adalah lisensi open source permisif, dengan sedikit jika ada perbedaan praktis di antara mereka.
Alasan untuk menawarkan keduanya adalah bahwa (1) lisensi MIT terkenal dan cocok untuk toolchain kompiler, sedangkan (2) lisensi asli LLVM, lisensi open source University of Illinois/NCSA, juga ditawarkan untuk memungkinkan kode Emscripten diintegrasikan ke hulu ke dalam LLVM. Alasan kedua menjadi kurang penting setelah Emscripten beralih ke llvm wasm backend, pada titik mana tidak ada kode yang kami harapkan untuk bolak -balik di antara proyek; Juga, LLVM ditingkatkan ke Apache 2.0 + pengecualian sementara itu. Dalam praktiknya Anda hanya dapat menganggap Emscripten sebagai MIT berlisensi (yang memungkinkan Anda melakukan hampir semua hal yang Anda inginkan dengan kompiler, termasuk penggunaan komersial dan non-komersial).
Lihat LICENSE untuk konten lengkap lisensi.