Emscripten 3.0 është i disponueshëm, një kompilator nga C/C++ në WebAssembly

ËshtĂ« publikuar versioni i kompilatorit Emscripten 3.0, i cili lejon kompilimin e kodit nĂ« C/C++ dhe gjuhĂ«ve tĂ« tjera pĂ«r tĂ« cilat ekzistojnĂ« frontend-e mbi bazĂ«n e LLVM, nĂ« kod tĂ« pĂ«rgjithshĂ«m tĂ« ndĂ«rmjetĂ«m me nivel tĂ« ulĂ«t WebAssembly, pĂ«r integrim tĂ« mĂ«tejshĂ«m me projektet JavaScript, pĂ«r ekzekutimin nĂ« shfletuesin web, pĂ«rdorimin nĂ« Node.js ose krijimin e aplikacioneve tĂ« shumtĂ«-platforma tĂ« izoluar qĂ« ekzekutohen pĂ«rmes wasm runtime. Kodi i projektit shpĂ«rndahet nĂ«n licencĂ«n MIT. Kompilatori pĂ«rdor tĂ« arriturat e projektit LLVM, dhe pĂ«r gjenerimin e WebAssembly dhe optimizimin Ă«shtĂ« pĂ«rdorur biblioteka Binaryen.

Qëllimi kryesor i zhvillimit të projektit Emscripten është krijimi i një mjeti që lejon ekzekutimin e kodit Web, pa marrë parasysh gjuhën e programimit me të cilën është shkruar ky kod. Në aplikacionet e kompliluara mund të përdoren thirrje për bibliotekat standarde C dhe C++ (libc, libcxx), zgjerimet C++, shumëprocësia mbi bazën e pthreads, API POSIX dhe shumë biblioteka multimedia. Përshtaten gjithashtu API të veçanta për integrim me Web API dhe kodin në JavaScript.

Emscripten mbështet përkthimin e daljes nga biblioteka SDL2 përmes Canvas, si dhe ofron mbështetje për OpenGL dhe EGL përmes WebGL, e cila lejon transformimin në WebAssembly për aplikacione dhe lojëra grafike (për shembull, ekziston një portim i toolkit-it Qt dhe mbështeten motorët e lojërave Unreal Engine 4 dhe Unity, si dhe motori fizik Bullet). Përveç kompilimit të kodit në C/C++, zhvillohen projekte të veçanta për të siguruar ekzekutimin në shfletues për interpretuese për makinave virtuale gjuhët Lua, C#, Python, Ruby dhe Perl. Gjithashtu, është e mundur të përdoren frontend-e të ndryshme nga Clang në LLVM, të disponueshme për gjuhë si Swift, Rust, D dhe Fortran.

Ndryshimet kryesore në Emscripten 3.0:

  • Biblioteka C e pĂ«rfshirĂ« nĂ« emscripten, musl, Ă«shtĂ« azhurnuar nĂ« versionin 1.2.2 (nĂ« degĂ«n Emscripten 2.x ishte pĂ«rdorur versi 1.1.15).
  • NjĂ« sĂ«rĂ« funksionesh Ă«shtĂ« fshirĂ« nga biblioteka parseTools.js, tĂ« cilat kryesisht u pĂ«rdorĂ«n brenda projektit: removePointing, pointingLevels, removeAllPointing, isVoidType, isStructPointerType, isArrayType, isStructType, isVectorType, isStructuralType, getStructuralTypeParts, getStructuralTypePartBits, isFunctionDef, isPossiblyFunctionType, isFunctionType, getReturnType, splitTokenList, _IntToHex, IEEEUnHex, Compiletime.isPointerType, Compiletime.isStructType, Compiletime.INT_TYPES, isType.
  • NĂ« shabllonet shell.html dhe shell_minimal.html, shfaqja e mesazheve tĂ« gabimeve qĂ« ndodhin gjatĂ« ekzekutimit tĂ« emscripten dhe qĂ« jepen nga aplikacioni pĂ«rmes stderr, pĂ«r default Ă«shtĂ« ndĂ«rruar nĂ« pĂ«rdorimin e console.warn nĂ« vend tĂ« console.error.
  • Shtuar mundĂ«sia pĂ«r tĂ« pĂ«rcaktuar njĂ« kodim tĂ« caktuar tĂ« tekstit qĂ« pĂ«rdoret nĂ« emrat e skedarĂ«ve. Kodimi mund tĂ« caktohet nĂ« formĂ« suksesi gjatĂ« kalimit tĂ« emrit tĂ« skedarit, pĂ«r shembull, «a.rsp.utf-8» ose «a.rsp.cp1251»).

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster