Emscripten 3.0, isixhobo sokwakha seWebAssembly usebenzisa iLLVM

Mva nje ukukhutshwa kwenguqulelo entsha ye-Emscripten 3.0 compiler kwabhengezwa, ephawulwa ngokuvumela ikhowudi ukuba iqulunqwe kwi-C / C ++ kunye nezinye iilwimi apho i-LLVM-based frontends ikhona, kwinqanaba elisezantsi le-middleware ye-middleware ye-WebAssembly.

Umsebenzi ophambili wolu qulunqo kukudityaniswa kwayo okulandelayo kunye neeProjekthi zeJavaScript, iqhutywe kwisiphequluli sewebhu, kwaye isetyenziswe kwiNode. Js okanye wenze izicelo ezizimeleyo zeqonga elinqamlezileyo ezisebenza kunye nexesha lokusebenza lewam.

Malunga Emscripten

Injongo ephambili uphuhliso lweprojekthi ye-Emscripten kukwenza isixhobo esikuvumela ukuba usebenzise ikhowudi kwiWebhu, nokuba loluphi ulwimi lwenkqubo ebhalwe ngalo.

Usetyenziso oluhlanganisiweyo lunokusebenzisa iifowuni eziqhelekileyo zethala leencwadi ze-C kunye ne-C ++ (libc, libcxx), C ++ izandiso, i-pthreads-based multithreading, iPOSIX API, kunye namathala eencwadi emultimedia. Ii-APIs zokudityaniswa ne-API yewebhu kunye nekhowudi yeJavaScript zinikwa ngokwahlukeneyo.

Bhalisa ixhasa ukusasazwa kwemveliso yethala leencwadi leSDL2 ngeCanvas, kwaye ikwabonelela ngenkxaso ye-OpenGL kunye ne-EGL ngeWebGL, ikuvumela ukuba uguqule usetyenziso lwemizobo kunye nemidlalo kwiWebAssembly.

Phantse nasiphi na isiseko esiphathwayo se-C okanye i-C ++ sekhowudi sinokuqulunqwa kwi-WebAssembly kusetyenziswa i-EmscriptenUkusuka kwimidlalo ephezulu yokusebenza efuna ukunika imizobo, ukudlala izandi, kunye nokulayisha kunye nokucwangcisa iifayile, kwiinkqubo zesicelo ezifana ne-Qt. I-Emscripten sele isetyenzisiwe ukuguqula uluhlu olude kakhulu lweziseko zekhowudi zehlabathi langempela kwiWebAssembly, kubandakanywa neziseko zekhowudi zorhwebo ezifana ne-Unreal Engine 4 kunye ne-Unity Engine.

Ukongeza ekuqulunqeni ikhowudi yeC / C ++, iiprojekthi ziphuhliswa ngokwahlukeneyo ukuze kuqinisekiswe ukuba iitoliki kunye noomatshini benyani beLua, C #, Python, Ruby, kunye nePerl baqala kwizikhangeli. Kuyenzeka ukuba usebenzise ujongano olungelulo lweClang kwiLLVM ekhoyo kwiilwimi ezinje ngeSwift, Rust, D, kunye neFortran.

Kufuneka kuqatshelwe ukuba kukho umahluko phakathi kwexesha lokubaleka lemveli kunye ne-Emscripten, okuthetha ukuba, ngokubanzi, eKuyimfuneko ukwenza utshintsho oluthile kwikhowudi yemveli. Oko kuthethiweyo, uninzi lwezicelo luya kufuna kuphela ukuguqula indlela abachaza ngayo i-loop yabo ephambili kwaye baguqule indlela yokuphatha iifayile zabo ukuze zivumelane nesikhangeli / imida yeJavaScript.

Kukwakho nemida enokwenza ikhowudi ethile ifuduke lula - funda iziKhokelo zokuphatheka ukuze ubone apho unokufuna ukuchitha umzamo omkhulu.

Iimpawu ezintsha eziphambili ze-Emscripten 3.0

Kolu guqulelo lutsha lukhoyo, ilayibrari ye-musl C esetyenziswe kwi-emscripten iye yahlaziywa kuguqulelo 1.2.2 (uguqulelo 1.1.15 lusetyenziswe kwisebe le-Emscripten 2.x).

Ukusuka kwilayibrari ye-parseTools.js inxalenye yemisebenzi yasuswa, esetyenziswa kakhulu kwiprojekthi: susa iPointing, iMigangatho yokwalatha, susaAllPointing, isVoidType, isStructPointerType, isArrayType, isStructType, isVectorType, isStructuralType getStructuralTypeParts, getStructuralType _IntToHex, IEEEUnHex, CompileTypeTypeIxesha.

Ngexesha Kwiqokobhe.html kunye neshell_minimal.html itemplates, imveliso yemiyalezo yemposiso eyenzeka ngexesha lomsebenzi we-emscripten kwaye ikhutshwe sisicelo nge-stderr iguqulwa ngokwendalo ukuba isebenzise i-console.warn endaweni ye-console.error.

Kuyacaciswa ukuba wongeze ukukwazi ukukhankanya ubhalo lokubhaliweyo oluthile olusetyenziswa kumagama eefayile. Ukufakwa kweekhowudi kungachazwa njengesimamva xa kugqithiswa igama lefayile, umzekelo "a.rsp.utf-8" okanye "a.rsp.cp1251").

Okokugqibela, ukuba unomdla wokufunda ngakumbi nge-Emscripten, unokujonga iinkcukacha zeprojekthi kuyo website esemthethweni.

Kwaye ngendlela efanayo, unokujongana namaxwebhu kwiwebhu malunga nendlela yokusebenzisa i-Emscripten, indawo yesalathiso esinokuyicebisa ukuba yiwebhusayithi yomphuhlisi weMozilla: https://developer.mozilla.org.

Kwakhona, kubalulekile ukukhankanya ukuba ikhowudi yeprojekthi ihanjiswa phantsi kwelayisenisi ye-MIT. Umqambi usebenzisa uphuhliso oluvela kwiprojekthi ye-LLVM kwaye ilayibrari ye-Binaryen isetyenziselwa ukuvelisa i-WebAssembly kunye nokuphucula. Ungajonga ikhowudi yakho umthombo kwiGitHub.


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Inoxanduva lwedatha: I-AB Internet Networks 2008 SL
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.