Emscripten 3.0, C/C++ pou WebAssembly du disponib

Yo te pibliye lage Emscripten 3.0 konpilatè a, ki pèmèt ou konpile kòd nan C/C++ ak lòt lang pou ki entèfas ki baze sou LLVM yo disponib nan inivèsèl kòd entèmedyè ki ba nivo WebAssembly, pou entegrasyon ki vin apre ak pwojè JavaScript, kouri. nan yon navigatè entènèt, epi sèvi ak nan Node.js oswa kreye aplikasyon otonòm milti-platfòm ki kouri lè l sèvi avèk Wasm Runtime. Kòd pwojè a distribye anba lisans MIT. Konpilatè a sèvi ak devlopman nan pwojè LLVM, epi yo itilize bibliyotèk Binaryen pou jenerasyon ak optimize WebAssembly.

Objektif prensipal pwojè Emscripten se kreye yon zouti ki pèmèt ou egzekite kòd sou entènèt la kèlkeswa langaj pwogramasyon kote kòd la ekri. Aplikasyon konpile yo ka itilize apèl nan bibliyotèk estanda C ak C++ (libc, libcxx), ekstansyon C++, multithreading ki baze sou pthreads, API POSIX, ak anpil bibliyotèk miltimedya. Yo bay API pou entegrasyon ak API Web ak kòd JavaScript separeman.

Emscripten sipòte difize pwodiksyon bibliyotèk SDL2 la atravè Canvas, epi tou li bay sipò pou OpenGL ak EGL atravè WebGL, ki pèmèt ou konvèti aplikasyon grafik ak jwèt nan WebAssembly (pa egzanp, gen yon pò nan bwat zouti Qt ak sipòte Unreal Engine 4 ak Inite jwèt motè, fizik Bal motè). Anplis konpile kòd nan C/C++, pwojè yo ap devlope separeman pou asire lansman entèprèt ak machin vityèl nan navigatè pou lang Lua, C#, Python, Ruby ak Perl. Li posib tou pou aplike entèfas ki pa Clang nan LLVM, ki disponib pou lang tankou Swift, Rust, D ak Fortran.

Gwo chanjman nan Emscripten 3.0:

  • Musl C bibliyotèk yo itilize nan emscripten te mete ajou nan vèsyon 1.2.2 (vèsyon 2 te itilize nan branch Emscripten 1.1.15.x).
  • Yo retire yon pati nan fonksyon ki te sitou itilize nan pwojè a nan bibliyotèk parseTools.js: removePointing, pointingLevels, removeAllPointing, isVoidType, isStructPointerType, isArrayType, isStructType, isVectorType, isTtructuraStructrulType, getStructuralTypeType. Bits, isFunctionDef, isPossiblyFunctionType, isFunctionType, getReturnType, splitTokenList, _IntToHex, IEEEUnHex, Compiletime.isPointerType, Compiletime.isStructType, Compiletime.INT_TYPES, isType.
  • Nan modèl shell.html ak shell_minimal.html, pwodiksyon mesaj erè ki fèt pandan operasyon emscripten epi ki soti nan aplikasyon an atravè stderr chanje pa default pou itilize console.warn olye pou yo console.error.
  • Te ajoute kapasite pou presize yon kodaj tèks espesifik yo itilize nan non fichye yo. Ka kodaj la dwe espesifye nan fòm lan nan yon sifiks lè w ap pase non fichye a, pou egzanp, "a.rsp.utf-8" oswa "a.rsp.cp1251").

Sous: opennet.ru

Add nouvo kòmantè