Emscripten 3.0 er fáanlegt, C/C++ til WebAssembly þýðanda

Útgáfa Emscripten 3.0 þýðanda hefur verið gefin út, sem gerir þér kleift að safna saman kóða á C/C++ og öðrum tungumálum sem LLVM-undirstaða framenda eru fáanleg í alhliða lágstigs millikóða WebAssembly, til síðari samþættingar við JavaScript verkefni, keyra í vafra og notaðu í Node.js eða búðu til sjálfstæð fjölvettvangsforrit sem keyra með wasm keyrslutíma. Verkefniskóðanum er dreift undir MIT leyfinu. Þýðandinn notar þróun frá LLVM verkefninu og Binaryen bókasafnið er notað fyrir WebAssembly kynslóð og hagræðingu.

Meginmarkmið Emscripten verkefnisins er að búa til tól sem gerir þér kleift að keyra kóða á vefnum óháð því á hvaða forritunarmáli kóðinn er skrifaður. Samsett forrit geta notað símtöl í venjuleg C og C++ bókasöfn (libc, libcxx), C++ viðbætur, pthreads-undirstaða multithreading, POSIX API og mörg margmiðlunarsöfn. API fyrir samþættingu við vef API og JavaScript kóða eru veitt sérstaklega.

Emscripten styður útsendingu úttaks SDL2 bókasafnsins í gegnum Canvas, og veitir einnig stuðning fyrir OpenGL og EGL í gegnum WebGL, sem gerir þér kleift að umbreyta grafískum forritum og leikjum í WebAssembly (til dæmis, það er tengi á Qt verkfærakistunni og styður Unreal Engine 4 og Unit leikjavélar, líkamleg Bullet vél). Auk þess að setja saman kóða í C/C++ er verið að þróa verkefni sérstaklega til að tryggja að túlkar og sýndarvélar verði settar í notkun í vöfrum fyrir tungumálin Lua, C#, Python, Ruby og Perl. Það er líka hægt að nota non-Clang framenda á LLVM, fáanlegt fyrir tungumál eins og Swift, Rust, D og Fortran.

Helstu breytingar á Emscripten 3.0:

  • Musl C bókasafnið sem notað er í emscripten hefur verið uppfært í útgáfu 1.2.2 (útgáfa 2 var notuð í Emscripten 1.1.15.x útibúinu).
  • Hluti aðgerða sem aðallega voru notaðar innan verkefnisins hefur verið fjarlægður úr parseTools.js bókasafninu: removePointing, pointingLevels, removeAllPointing, isVoidType, isStructPointerType, isArrayType, isStructType, isVectorType, isStructuralType getStructuralParts, isStructuralParts, isStructuralTypeType isPossiblyFunctionType, isFunctionType, getReturnType, splitTokenList, _IntToHex, IEEEUnHex , Compiletime.isPointerType, Compiletime.isStructType, Compiletime.INT_TYPES, isType.
  • Í shell.html og shell_minimal.html sniðmátunum er úttak villuboða sem koma fram við notkun emscripten og eru birt af forritinu í gegnum stderr sjálfgefið skipt til að nota console.warn í stað console.error.
  • Bætti við möguleikanum á að tilgreina ákveðna textakóðun sem notuð er í skráarnöfnum. Hægt er að tilgreina kóðun í formi viðskeyti þegar skráarheitið er sent, til dæmis "a.rsp.utf-8" eða "a.rsp.cp1251").

Heimild: opennet.ru

Bæta við athugasemd