Emscripten 3.0, një zinxhir mjetesh ndërtimi për WebAssembly duke përdorur LLVM

kohët e fundit u njoftua lëshimi i versionit të ri të përpiluesit Emscripten 3.0, e cila karakterizohet nga lejimi i përpilimit të kodit në C / C ++ dhe gjuhë të tjera për të cilat janë të disponueshme frontet e bazuara në LLVM, në një WebAssembly universal universal të nivelit të ulët.

Funksioni kryesor i këtij përpilimi është integrimi i mëvonshëm me Projektet JavaScript, ekzekutimi në një shfletues ueb dhe përdorimi në Node. Js ose krijoni aplikacione të pavarura ndër-platformë që funksionojnë me kohën e funksionimit wasm.

Rreth Emscripten

Qëllimi kryesor zhvillimi i projektit Emscripten është krijimi i një mjeti që ju lejon të ekzekutoni kodin në ueb, pavarësisht nga gjuha e programimit në të cilën është shkruar.

Aplikacionet e përpiluara mund të përdorin thirrje standarde të bibliotekës C dhe C ++ (libc, libcxx), shtesat C ++, multithreading bazuar në pthreads, POSIX API dhe shumë biblioteka multimediale. API-të për integrim me API-në e internetit dhe kodin JavaScript ofrohen veçmas.

Regjistrohu mbështet transmetimin e daljes së bibliotekës SDL2 përmes Canvas, dhe gjithashtu ofron mbështetje për OpenGL dhe EGL përmes WebGL, duke ju lejuar të konvertoni aplikacionet grafike dhe lojërat në WebAssembly.

Pothuajse çdo bazë kodi portativ C ose C ++ mund të përpilohet në WebAssembly duke përdorur EmscriptenNga lojërat me performancë të lartë që kanë nevojë për të dhënë grafikë, për të luajtur tinguj dhe për të ngarkuar dhe përpunuar skedarë, deri te kornizat e aplikacioneve si Qt. Emscripten është përdorur tashmë për të kthyer një listë shumë të gjatë të bazave të kodit të botës reale në WebAssembly, duke përfshirë bazat e kodeve komerciale si Unreal Engine 4 dhe Unity Engine.

Përveç përpilimit të kodit C / C ++, projektet zhvillohen veçmas për të siguruar që interpretuesit dhe makinat virtuale për Lua, C #, Python, Ruby dhe Perl të fillojnë në shfletues. Është gjithashtu e mundur të aplikohen ndërfaqe jo-Clang në LLVM të disponueshme për gjuhë të tilla si Swift, Rust, D dhe Fortran.

Duhet të theksohet se ka dallime midis runtime vendase dhe Emscripten, që do të thotë se, në përgjithësi, eËshtë e nevojshme të bëhen disa ndryshime në kodin vendas. Thënë kjo, shumë aplikacione do të duhet vetëm të ndryshojnë mënyrën se si përcaktojnë ciklin e tyre kryesor dhe gjithashtu të modifikojnë trajtimin e skedarëve për të përshtatur kufizimet e shfletuesit / JavaScript.

Ekzistojnë gjithashtu kufizime që mund ta bëjnë më të lehtë migrimin e disa kodeve - lexoni Udhëzimet e transportueshmërisë për të përcaktuar se ku mund t'ju duhet të shpenzoni më shumë përpjekje.

Karakteristikat kryesore të reja të Emscripten 3.0

Në këtë version të ri që prezantohet, biblioteka musl C e përdorur në emscripten është përditësuar në versionin 1.2.2 (versioni 1.1.15 është përdorur në degën Emscripten 2.x).

Nga biblioteka parseTools.js u hoq një pjesë e funksioneve, të cilat përdoren kryesisht në projekt: removePointing, pointingLevels, removeAllPointing, isVoidType, isStructPointerType, isArrayType, isStructType, isVectorType, isStructuralType getStructuralTypeParts, getStructuralType _IntToHexType,Comp.Time.

Mientras que Në shabllonet shell.html dhe shell_minimal.html, dalja e mesazheve të gabimit që ndodhin gjatë operacionit emscripten dhe lëshohen nga aplikacioni përmes stderr është ndryshuar si parazgjedhje për të përdorur console.warn në vend të console.error.

Theksohet gjithashtu se shtoi aftësinë për të specifikuar një kodim specifik teksti të përdorur në emrat e skedarëve. Kodimi mund të specifikohet si prapashtesë kur kaloni emrin e skedarit, për shembull "a.rsp.utf-8" ose "a.rsp.cp1251").

Së fundi, nëse jeni të interesuar të mësoni më shumë rreth Emscripten, mund të konsultoni detajet e projektit në të faqen zyrtare.

Dhe në të njëjtën mënyrë, mund të konsultoni dokumentacionin në ueb se si të përdorni Emscripten, një faqe referimi që ne mund ta rekomandojmë është faqja e internetit e zhvilluesve të Mozilla: https://developer.mozilla.org.

Gjithashtu, është e rëndësishme të përmendet se kodi i projektit shpërndahet nën licencën MIT. Përpiluesi përdor zhvillimet nga projekti LLVM dhe biblioteka Binaryen përdoret për të gjeneruar WebAssembly dhe optimizim. Ju mund të kontrolloni kodin tuaj burim në GitHub.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.