Emscripten 3.0 ass verfügbar, e C / C ++ zu WebAssembly Compiler

D'Verëffentlechung vum Emscripten 3.0 Compiler ass verëffentlecht ginn, wat Iech erlaabt Code an C / C ++ an aner Sproochen ze kompiléieren fir déi LLVM-baséiert Frontends verfügbar sinn an universell Low-Level Zwëschencode WebAssembly, fir spéider Integratioun mat JavaScript Projeten, lafen an engem Webbrowser, a benotzt am Node. js oder erstellt stand-alone Multi-Plattform Uwendungen déi mat wasm Runtime lafen. De Projet Code gëtt ënner der MIT Lizenz verdeelt. De Compiler benotzt Entwécklungen vum LLVM Projet, an d'Binaryen Bibliothéik gëtt fir WebAssembly Generatioun an Optimiséierung benotzt.

D'Haaptziel vum Emscripten Projet ass en Tool ze kreéieren deen Iech erlaabt Code um Web auszeféieren onofhängeg vun der Programméierungssprooch an där de Code geschriwwen ass. Kompiléiert Uwendungen kënnen Uruff un Standard C an C++ Bibliothéike benotzen (libc, libcxx), C++ Extensiounen, pthreads-baséiert Multithreading, POSIX APIs, a vill Multimedia Bibliothéiken. APIs fir Integratioun mat Web API a JavaScript Code ginn separat geliwwert.

Emscripten ënnerstëtzt d'Sendung vun der Ausgab vun der SDL2 Bibliothéik iwwer Canvas, a bitt och Ënnerstëtzung fir OpenGL an EGL iwwer WebGL, wat Iech erlaabt grafesch Uwendungen a Spiller op WebAssembly ze konvertéieren (zum Beispill gëtt et en Hafen vum Qt Toolkit an ënnerstëtzt Unreal Engine 4 an Eenheet Spillmotoren, kierperlech Bullet Engine). Zousätzlech fir de Code am C / C ++ ze kompiléieren, ginn Projeten separat entwéckelt fir Dolmetscher a virtuelle Maschinnen z'erméiglechen an de Browser fir d'Sprooche Lua, C #, Python, Ruby a Perl ze lafen. Et ass och méiglech Net-Clang Frontends op LLVM ze gëllen, verfügbar fir Sprooche wéi Swift, Rust, D a Fortran.

Grouss Ännerungen am Emscripten 3.0:

  • D'musl C Bibliothéik, déi an emscripten benotzt gëtt, gouf op d'Versioun 1.2.2 aktualiséiert (Versioun 2 gouf an der Emscripten 1.1.15.x Branche benotzt).
  • En Deel vu Funktiounen, déi haaptsächlech am Projet benotzt goufen, goufen aus der parseTools.js-Bibliothéik geläscht: removePointing, pointingLevels, removeAllPointing, isVoidType, isStructPointerType, isArrayType, isStructType, isVectorType, isStructuralType getStructuralType, isStructuralTypeTypeTypeType isPossiblyFunctionType, isFunctionType, getReturnType, splitTokenList, _IntToHex, IEEEUnHex , Compiletime.isPointerType, Compiletime.isStructType, Compiletime.INT_TYPES, isType.
  • An de shell.html an shell_minimal.html Templates gëtt d'Ausgab vu Fehlermeldungen, déi während der Operatioun vun emscripten optrieden a vun der Applikatioun iwwer stderr ausgaang sinn, par défaut gewiesselt fir console.warn amplaz console.error ze benotzen.
  • D'Fäegkeet bäigefüügt fir eng spezifesch Textkodéierung ze spezifizéieren déi a Dateinumm benotzt gëtt. D'Kodéierung kann a Form vun engem Suffix spezifizéiert ginn wann Dir de Dateinumm passéiert, zum Beispill "a.rsp.utf-8" oder "a.rsp.cp1251").

Source: opennet.ru

Setzt e Commentaire