Emscripten 3.0 ea fumaneha, C/C++ ho WebAssembly compiler

Ho lokolloa ha moqapi oa Emscripten 3.0 ho phatlalalitsoe, ho u lumella ho bokella khoutu ka C/C++ le lipuo tse ling tseo LLVM-based frontends li fumanehang ka har'a khoutu ea boemo bo tlaase ea WebAssembly, bakeng sa ho kopanngoa le merero ea JavaScript, e sebetsang. ho sebatli sa marang-rang, 'me u sebelise ho Node.js kapa ho theha lits'ebetso tse ikemetseng tsa li-multi-platform tse sebelisang nako ea ho sebetsa ea wasm. Khoutu ea projeke e ajoa tlasa laesense ea MIT. Moqapi o sebelisa lintlafatso tse tsoang morerong oa LLVM, 'me laebrari ea Binaryen e sebelisetsoa ho hlahisa le ho ntlafatsa WebAssembly.

Sepheo se seholo sa morero oa Emscripten ke ho etsa sesebelisoa se u lumellang hore u phethe khoutu ho Websaete ho sa tsotellehe puo ea lenaneo leo khoutu e ngotsoeng ka eona. Lisebelisoa tse hlophisitsoeng li ka sebelisa mehala ho lilaebrari tse tloaelehileng tsa C le C++ (libc, libcxx), li-extensions tsa C++, li-pthreads-based multithreading, POSIX APIs, le lilaebrari tse ngata tsa multimedia. Li-API tsa ho kopanngoa le Web API le JavaScript code li fanoa ka thoko.

Emscripten e ts'ehetsa tlhahiso ea laeborari ea SDL2 ka Canvas, hape e fana ka tšehetso bakeng sa OpenGL le EGL ka WebGL, e u lumellang ho fetolela lits'ebetso le lipapali tsa graphical ho WebAssembly (mohlala, ho na le kou ea Qt toolkit mme e ts'ehetsa Unreal Engine. 4 le lienjineri tsa lipapali tsa Unit, enjine ea Bullet ea 'mele). Ntle le ho bokella khoutu ho C / C ++, merero e ntse e ntlafatsoa ka thoko ho netefatsa ho qalisoa ha bafetoleli le mechini e fumanehang ka har'a libatli tsa lipuo tsa Lua, C #, Python, Ruby le Perl. Hape hoa khonahala ho sebelisa li-frontends tse seng tsa Clang ho LLVM, tse fumanehang bakeng sa lipuo tse kang Swift, Rust, D le Fortran.

Liphetoho tse kholo ho Emscripten 3.0:

  • Laeborari ea musl C e sebelisitsoeng ho emscripten e ntlafalitsoe ho mofuta oa 1.2.2 (mofuta oa 2 o sebelisitsoe lekaleng la Emscripten 1.1.15.x).
  • Karolo ea mesebetsi e neng e sebelisoa haholo ka har'a morero e tlositsoe laebraring ea parseTools.js: tlosaPointing, pointingLevels, removeAllPointing, isVoidType, isStructPointerType, isArrayType, isStructType, isVectorType, isStructuralType getStructuralType getStructuralTypertss, getStructuralTypertsStural, getStructuralTypertsf, GetStructuralTypertsf, GetStructuralTypert Mofuta, isFunctionType, getReturnType, splitTokenList, _IntToHex, IEEEUnHex , Compiletime.isPointerType, Compiletime.isStructType, Compiletime.INT_TYPES, isType.
  • Ho shell.html le shell_minimal.html templates, tlhahiso ea melaetsa ea liphoso e hlahang nakong ea ts'ebetso ea emscripten 'me e hlahisoa ke ts'ebeliso ka stderr e fetoloa ka mokhoa oa kamehla ho sebelisa console.warn sebakeng sa console.error.
  • E kentse bokhoni ba ho hlakisa mongolo o itseng oa khouto o sebelisoang mabitsong a lifaele. Khouto e ka hlalosoa ka mokhoa oa suffix ha ho fetisa lebitso la faele, mohlala, "a.rsp.utf-8" kapa "a.rsp.cp1251").

Source: opennet.ru

Eketsa ka tlhaloso