Emscripten 3.0, C/C ++ gu WebAssembly compiler ri fhaighinn

Chaidh foillseachadh an cruinneachaidh Emscripten 3.0 fhoillseachadh, a leigeas leat còd a chuir ri chèile ann an C / C ++ agus cànanan eile airson a bheil aghaidhean stèidhichte air LLVM rim faighinn ann an còd eadar-mheadhanach ìre ìosal uile-choitcheann WebAssembly, airson amalachadh às deidh sin le pròiseactan JavaScript, a’ ruith ann am brabhsair lìn, agus cleachd ann an Node.js no cruthaich tagraidhean ioma-ùrlar leotha fhèin a bhios a’ ruith a’ cleachdadh ùine ruith wasm. Tha còd a’ phròiseict air a sgaoileadh fo chead MIT. Bidh an neach-cruinneachaidh a’ cleachdadh leasachaidhean bhon phròiseact LLVM, agus tha leabharlann Binaryen air a chleachdadh airson gineadh agus optimization WebAssembly.

Is e prìomh amas pròiseact Emscripten inneal a chruthachadh a leigeas leat còd a chuir an gnìomh air an lìon ge bith dè an cànan prògramaidh anns a bheil an còd sgrìobhte. Faodaidh tagraidhean cruinnichte fiosan a chleachdadh gu leabharlannan àbhaisteach C agus C ++ (libc, libcxx), leudachain C ++, multithreading stèidhichte air pthreads, POSIX APIs, agus mòran leabharlannan ioma-mheadhain. Tha APIan airson amalachadh le Web API agus còd JavaScript air an toirt seachad air leth.

Tha Emscripten a’ toirt taic do chraoladh toradh an leabharlainn SDL2 tro Canvas, agus cuideachd a’ toirt taic do OpenGL agus EGL tro WebGL, a leigeas leat tagraidhean grafaigeach agus geamannan a thionndadh gu WebAssembly (mar eisimpleir, tha port ann den inneal Qt agus a’ toirt taic do Unreal Engine 4 agus einnseanan geama Aonad, einnsean corporra Bullet). A bharrachd air còd a chur ri chèile ann an C/C++, thathas a’ leasachadh phròiseactan air leth gus dèanamh cinnteach gun tèid eadar-mhìnearan agus innealan mas-fhìor a chuir air bhog ann am brobhsairean airson na cànanan Lua, C#, Python, Ruby agus Perl. Tha e comasach cuideachd aghaidhean neo-Clang a chuir gu LLVM, a tha rim faighinn airson cànanan leithid Swift, Rust, D agus Fortran.

Atharraichean mòra ann an Emscripten 3.0:

  • Chaidh an leabharlann musl C a chaidh a chleachdadh ann an emscripten ùrachadh gu dreach 1.2.2 (chaidh dreach 2 a chleachdadh ann am meur Emscripten 1.1.15.x).
  • Chaidh cuibhreann de ghnìomhan a chaidh a chleachdadh sa mhòr-chuid sa phròiseact a thoirt a-mach às an leabharlann parseTools.js: removePointing, pointingLevels, removeAllPointing, isVoidType, isStructPointerType, isArrayType, isStructType, isVectorType, isStructuralType getStructuralType, isVoidType getStructuralType,StructuralType getStructuralType siblyFunctionType, isFunctionType, getReturnType, splitTo kenList, _IntToHex, IEEEUnHex , Compiletime.isPointerType, Compiletime.isStructType, Compiletime.INT_TYPES, isType.
  • Anns na teamplaidean shell.html agus shell_minimal.html, tha toradh teachdaireachdan mearachd a thig a-mach rè obrachadh emscripten agus a tha air an cur a-mach leis an tagradh tro stderr air a thionndadh gu bunaiteach gus console.warn a chleachdadh an àite console.error.
  • Chuir sinn ris a’ chomas còdachadh teacsa sònraichte a chaidh a chleachdadh ann an ainmean faidhle a shònrachadh. Faodar an còdachadh a shònrachadh ann an cruth iar-leas nuair a thèid thu seachad air ainm an fhaidhle, mar eisimpleir, "a.rsp.utf-8" no "a.rsp.cp1251").

Source: fosgailtenet.ru

Cuir beachd ann