Emscripten 3.0, C/C++ zuwa WebAssembly mai tarawa akwai

An buga sakin Emscripten 3.0 mai tarawa, yana ba ku damar tattara lamba a cikin C/C++ da sauran yarukan waɗanda tushen gaba na LLVM ke samuwa a cikin lambar matsakaiciyar matsakaiciyar matsakaicin matakin duniya WebAssembly, don haɗawa ta gaba tare da ayyukan JavaScript, yana gudana. a cikin burauzar gidan yanar gizo, kuma a yi amfani da su a cikin Node.js ko ƙirƙirar aikace-aikacen dandamali da yawa waɗanda ke gudana ta amfani da lokacin gudu. Ana rarraba lambar aikin a ƙarƙashin lasisin MIT. Mai tarawa yana amfani da ci gaba daga aikin LLVM, kuma ana amfani da ɗakin karatu na Binaryen don tsarawar WebAssembly da haɓakawa.

Babban burin aikin Emscripten shine ƙirƙirar kayan aiki wanda zai baka damar aiwatar da lamba akan gidan yanar gizo ba tare da la'akari da yaren shirye-shiryen da aka rubuta lambar ba. Haɗaɗɗen aikace-aikacen na iya amfani da kira zuwa daidaitattun ɗakunan karatu na C da C++ (libc, libcxx), kari na C++, multithreading na tushen pthreads, POSIX APIs, da yawancin ɗakunan karatu na multimedia. APIs don haɗawa tare da API na Yanar Gizo da lambar JavaScript ana ba da su daban.

Emscripten yana goyan bayan watsa fitarwa na ɗakin karatu na SDL2 ta hanyar Canvas, kuma yana ba da tallafi ga OpenGL da EGL ta hanyar WebGL, wanda ke ba ku damar canza aikace-aikacen hoto da wasanni zuwa WebAssembly (misali, akwai tashar jiragen ruwa na kayan aikin Qt kuma yana goyan bayan Injin mara gaskiya. 4 da injunan wasan raka'a, injin Bullet na zahiri). Baya ga haɗa lambar a cikin C/C++, ana haɓaka ayyukan daban don tabbatar da ƙaddamar da fassarori da na'urori masu kama-da-wane a cikin masu bincike don harsunan Lua, C #, Python, Ruby da Perl. Hakanan yana yiwuwa a yi amfani da gaba da ba Clang ba zuwa LLVM, akwai don yaruka kamar Swift, Rust, D da Fortran.

Manyan canje-canje a cikin Emscripten 3.0:

  • An sabunta ɗakin karatu na musl C da aka yi amfani da shi a cikin emscripten zuwa sigar 1.2.2 (an yi amfani da sigar 2 a cikin reshen Emscripten 1.1.15.x).
  • An cire wani yanki na ayyukan da aka fi amfani da su a cikin aikin daga ɗakin karatu na parseTools.js: cirewa, matakan nunawa, cireAllPointing, isVoidType, isStructPointerType, isArrayType, isStructType, isVectorType, isStructuralTypeTypeType, isTructuralTypeartTructuralPtructuralTypeTypeType. unctionDef, shine YiwuwarFunctionType, isFunctionType, samunReturnType, splitTokenList, _IntToHex, IEEEUnHex, Compiletime.isPointerType, Compiletime.isStructType, Compiletime.INT_TYPES, isType.
  • A cikin samfuran shell.html da shell_minimal.html, fitowar saƙonnin kuskure waɗanda ke faruwa yayin aikin emscripten kuma ana fitarwa ta aikace-aikacen ta hanyar stderr ana canza su ta tsohuwa don amfani da console.warn maimakon console.error.
  • Ƙara ikon tantance takamaiman rubutun da aka yi amfani da shi a cikin sunayen fayil. Za a iya ƙididdige ɓoyayyen ɓoyayyen a cikin hanyar kari lokacin wucewa sunan fayil, misali, "a.rsp.utf-8" ko "a.rsp.cp1251").

source: budenet.ru

Add a comment