Emscripten 6.0, kompiliuesi nga C/C++ në WebAssembly, është në dispozicion.

Është publikuar versioni i ri i mjeteve Emscripten 6.0, i cili lejon kompilimin e kodit në C/C++ dhe gjuhë të tjera për të cilat ekzistojnë frontend-e të bazuara në LLVM, në një ndërmjetësim universal të kodit të ulët WebAssembly. Rezultati i marrë mund të përdoret për integrim me projektet JavaScript, për të ekzekutuar në shfletuesin web, përdorimin në Node.js ose për krijimin e aplikacioneve të veçanta multi-platformë që ekzekutohen me ndihmën e wasm runtime. Kodi i projektit shpërndahet nën licencën MIT. Në kompilator përdoren materiale të projektit LLVM, ndërsa për gjenerimin e WebAssembly dhe optimizimin angazhohet biblioteka Binaryen.

Qëllimi kryesor i Emscripten është krijimi i një mjeti që lejon ekzekutimin e kodit në Web pavarësisht nga gjuha e programimit në të cilën ky kod është shkruar fillimisht. Në aplikacionet e komiluara mund të përdoren thirrje të bibliotekave standarde C dhe C++ (libc, libcxx), zgjerime C++, multithreading të bazuar në pthreads, API POSIX dhe shumë biblioteka multimediale. Ekspertizë ad hoc ofrohet për integrimin me API-të e Web dhe kodin në JavaScript.

Emscripten mbështet përkthimin e daljes së bibliotekës SDL2 përmes Canvas-it, si dhe implementon mbështetje për OpenGL dhe EGL përmes API-së WebGL, duke lejuar transformimin në WebAssembly të aplikacioneve grafike dhe lojërave (për shembull, ekziston një port i toolkit-it Qt, dhe mbështeten motorët e lojërave Unreal Engine dhe Unity, si dhe motoori i simulimit të proceseve fizike Bullet).

Përveç kompilimit të kodit në C/C++, projekti për të ekzekutuar interpretuese për shfletues po zhvillohet gjithashtu për gjuhët Lua, C#, Python, Ruby dhe Perl. Për më tepër, është e mundur të përdoren frontend të LLVM, të ndryshme nga Clang, për shembuj, frontend për gjuhët si Swift, Rust, D dhe Fortran. makinave virtuale для языков Lua, C#, Python, Ruby и Perl. Кроме того, возможно применение фронтэндов к LLVM, отличных от Clang, например, фронтэндов для языков, как Swift, Rust, D и Fortran.

Caktimi i numrit të versionit 6.0 lidhet me ndryshime që shkelin përputhshmërinë. Ndryshimet kryesore në Emscripten 6.0:

  • Versionet minimale të motorëve të shfletuesve, në të cilët mund të ekzekutohet kodi i krijuar, janë rritur: Chrome 74 -> 85, Firefox 68 -> 79 dhe Safari 12.2 -> 14.1. Ky ndryshim ka lejuar aktivizimin automatik të zgjerimeve WebAssembly për importin dhe eksportimin e variablave globalë të ndryshueshëm, si dhe rritjen e saktësisë së numrave me shenjë dhe vlerë.
  • Gjatë ngarkimeve streaming duke përdorur operacionin Fetch, madhësia e bllokut të ngarkuar tani është e kufizuar në 8 MB për të parandaluar ngarkimin në memorie të menjëhershme të të gjithë përmbajtjes nga skedarët e mëdhenj.
  • Janë azhurnuar versionet musl libc 1.2.6, libpng 1.6.58 dhe google-closure-compiler 20260429.0.0.
  • Është implementuar flagu i kompajluesit "-m64", i cili është i ngjashëm me flagët "-sMEMORY64" dhe "--target=wasm64".
    Fusha PThread.runningWorkers është hequr nga objekti PThread.
  • Funksioni pause() tani kthen 0 në vend të EINTR.
  • Në platformën Windows, në vend të skedarit bat (emcc.bat) për të nisur Emscripten, është ofruar një skedar exe (emcc.exe).
  • Është publikuar versioni i instrumenteve Emscripten 6.0, i cili mundëson kompajtimin e kodit në C/C++ dhe gjuhë të tjera për të cilat ekzistojnë frontend-e të bazuara në LLVM, në kod të universallizuar të nivelit të ulët WebAssembly. Rezultati i marrë mund të përdoret për integrim me projektet JavaScript, për ta ekzekutuar në shfletuesin web, përdorim në Node.js ose për të krijuar aplikacione të veçanta shumë-platformës që ekzekutohen me ndihmën e wasm runtime. Kodi i projektit shperndahet nën licencën

Burimi: opennet.ru

Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë 🔥 Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë | ProHoster