Emscripten 3.0 kasedhiya, C / C ++ kanggo WebAssembly compiler

Rilis kompiler Emscripten 3.0 wis diterbitake, ngijini sampeyan kanggo ngumpulake kode ing C/C ++ lan basa liyane sing frontends basis LLVM kasedhiya menyang kode intermediate tingkat rendah universal WebAssembly, kanggo integrasi sakteruse karo proyek JavaScript, mlaku. ing browser web, lan digunakake ing Node.js utawa nggawe aplikasi multi-platform sing mlaku kanthi nggunakake wasm runtime. Kode proyek disebarake miturut lisensi MIT. Compiler nggunakake pembangunan saka project LLVM, lan perpustakaan Binaryen digunakake kanggo WebAssembly generasi lan Optimization.

Tujuan utama proyek Emscripten yaiku nggawe alat sing ngidini sampeyan nglakokake kode ing Web tanpa dipikirake basa pamrograman ing ngendi kode kasebut ditulis. Aplikasi sing dikompilasi bisa nggunakake telpon menyang perpustakaan C lan C ++ standar (libc, libcxx), ekstensi C++, multithreading basis pthread, API POSIX, lan akeh perpustakaan multimedia. API kanggo integrasi karo API Web lan kode JavaScript diwenehake kanthi kapisah.

Emscripten ndhukung siaran output perpustakaan SDL2 liwat Canvas, lan uga menehi dhukungan kanggo OpenGL lan EGL liwat WebGL, sing ngidini sampeyan ngowahi aplikasi grafis lan game menyang WebAssembly (contone, ana port toolkit Qt lan ndhukung Unreal Engine. 4 lan mesin game Unit, mesin Bullet fisik). Saliyane kompilasi kode ing C/C ++, proyek dikembangake kanthi kapisah kanggo mesthekake peluncuran interpreter lan mesin virtual ing browser kanggo basa Lua, C#, Python, Ruby lan Perl. Sampeyan uga bisa nggunakake frontend non-Clang menyang LLVM, kasedhiya kanggo basa kayata Swift, Rust, D lan Fortran.

Owah-owahan utama ing Emscripten 3.0:

  • Musl C perpustakaan digunakake ing emscripten wis dianyari kanggo versi 1.2.2 (versi 2 digunakake ing cabang Emscripten 1.1.15.x).
  • Sapérangan fungsi sing utamané dipigunakaké ing proyèk wis dibusak saka perpustakaan parseTools.js: removePointing, pointingLevels, removeAllPointing, isVoidType, isStructPointerType, isArrayType, isStructType, isVectorType, isStructuralType getStructuralType, isStructuralType getStructuralType Def, isPossiblyFunctionType, isFunctionType, getReturnType, splitTo kenList, _IntToHex, IEEEUnHex , Compiletime.isPointerType, Compiletime.isStructType, Compiletime.INT_TYPES, isType.
  • Ing shell.html lan shell_minimal.html Cithakan, output pesen kesalahan sing dumadi sak operasi saka emscripten lan output dening aplikasi liwat stderr diuripake minangka standar kanggo nggunakake console.warn tinimbang console.error.
  • Nambahake kemampuan kanggo nemtokake enkoding teks tartamtu sing digunakake ing jeneng file. Encoding bisa ditemtokake ing wangun suffix nalika ngliwati jeneng berkas, contone, "a.rsp.utf-8" utawa "a.rsp.cp1251").

Source: opennet.ru

Add a comment