Emscripten 3.0 inowanikwa, C/C++ kune WebAssembly compiler

Kuburitswa kweEmscripten 3.0 compiler kwaburitswa, zvichikubvumidza kuti utore kodhi muC/C++ nemimwe mitauro iyo LLVM-based frontends inowanikwa mune yepasirese-level yepakati kodhi WebAssembly, yekuzobatanidzwa neJavaScript mapurojekiti, anomhanya. mubrowser yewebhu, uye shandisa muNode.js kana kugadzira yakamira-yega akawanda-mapuratifomu maapplication anomhanya uchishandisa wasm runtime. Iyo kodhi yeprojekiti yakagoverwa pasi peMIT rezinesi. Iyo compiler inoshandisa budiriro kubva kuLLVM chirongwa, uye Binaryen raibhurari inoshandiswa kuWebAssembly chizvarwa uye optimization.

Chinangwa chikuru cheEmscripten purojekiti kugadzira chishandiso chinokutendera kuti uite kodhi paWebhu zvisinei nemutauro wechirongwa unonyorwa kodhi. Zvishandiso zvakaunganidzwa zvinogona kushandisa mafoni kune akajairwa C uye C++ maraibhurari (libc, libcxx), C++ ekuwedzera, pthreads-based multithreading, POSIX APIs, uye akawanda multimedia raibhurari. MaAPI ekubatanidza neWebhu API uye JavaScript kodhi anopihwa zvakasiyana.

Emscripten inotsigira kutepfenyura kubuda kweSDL2 raibhurari kuburikidza neCanvas, uye inopawo rutsigiro rweOpenGL neEGL kuburikidza neWebGL, iyo inokutendera kuti uchinje graphical application nemitambo kuita WebAssembly (semuenzaniso, kune port yeQt toolkit uye inotsigira Unreal Injini. 4 uye Unit game injini, muviri Bullet injini). Pamusoro pekunyora kodhi muC/C++, mapurojekiti ari kuvandudzwa akaparadzana kuti ave nechokwadi chekutangwa kwevaturikiri nemichina chaiyo mumabhurawuza emitauro Lua, C#, Python, Ruby naPerl. Zvinogoneka zvakare kuisa non-Clang frontends kuLLVM, inowanikwa kumitauro yakaita seSwift, Rust, D uye Fortran.

Shanduko huru muEmscripten 3.0:

  • Musl C raibhurari yakashandiswa muemscripten yakagadziridzwa kuita shanduro 1.2.2 (vhezheni 2 yakashandiswa mubazi reEmscripten 1.1.15.x).
  • Chikamu chemabasa ainyanya kushandiswa mukati mepurojekiti akabviswa kubva paparseTools.js raibhurari: bvisaPointing, pointingLevels, bvisaAllPointing, isVoidType, isStructPointerType, isArrayType, isStructType, isVectorType, isStructuralType getStructuralType getStructuralTypertsf, isFueSturalTypertsf,GetStucturalTypertsf,GetStucturalTypertsf Type, isFunctionType, getReturnType, splitTokenList, _IntToHex, IEEEUnHex , Compiletime.isPointerType, Compiletime.isStructType, Compiletime.INT_TYPES, isType.
  • Mushell.html neshell_minimal.html templates, kubuda kwemameseji ekukanganisa anoitika panguva yekushanda kweemscripten uye anobuditswa neapplication kuburikidza ne stderr anochinjirwa nedefault kushandisa console.warn pachinzvimbo checonsole.error.
  • Yakawedzera kugona kutsanangura yakatarwa mavara encoding anoshandiswa mumazita emafaira. Iko encoding inogona kutsanangurwa muchimiro che suffix kana uchipfuura zita refaira, semuenzaniso, "a.rsp.utf-8" kana "a.rsp.cp1251").

Source: opennet.ru

Voeg