Emscripten 3.0, C / C ++ rau WebAssembly compiler muaj

Kev tso tawm ntawm Emscripten 3.0 compiler tau luam tawm, tso cai rau koj los sau cov lej hauv C / C ++ thiab lwm yam lus uas LLVM-raws li frontends muaj nyob rau hauv universal low-level intermediate code WebAssembly, rau tom qab kev koom ua ke nrog JavaScript tej yaam num, khiav. nyob rau hauv lub web browser, thiab siv nyob rau hauv Node. js los yog tsim stand-alone multi-platform daim ntawv thov uas khiav siv wasm runtime. Txoj haujlwm code raug faib raws li daim ntawv tso cai MIT. Lub compiler siv kev txhim kho los ntawm LLVM qhov project, thiab lub tsev qiv ntawv Binaryen yog siv rau WebAssembly tiam thiab optimization.

Lub hom phiaj tseem ceeb ntawm txoj haujlwm Emscripten yog los tsim ib lub cuab yeej uas tso cai rau koj los ua cov lej hauv lub vev xaib tsis hais hom lus programming uas tus lej sau. Cov ntawv sau ua ke tuaj yeem siv hu rau cov qauv C thiab C ++ cov tsev qiv ntawv (libc, libcxx), C ++ extensions, pthreads-based multithreading, POSIX APIs, thiab ntau lub tsev qiv ntawv multimedia. APIs rau kev koom ua ke nrog Web API thiab JavaScript code yog muab cais.

Emscripten txhawb kev tshaj tawm cov ntaub ntawv tawm ntawm SDL2 lub tsev qiv ntawv ntawm Canvas, thiab tseem muab kev txhawb nqa rau OpenGL thiab EGL ntawm WebGL, uas tso cai rau koj los hloov cov duab kos duab thiab kev ua si rau WebAssembly (piv txwv li, muaj qhov chaw nres nkoj ntawm Qt toolkit thiab txhawb Unreal Engine. 4 thiab Unit game engines, lub cev Bullet engine). Ntxiv nrog rau kev sau cov lej hauv C / C ++, cov haujlwm tau tsim tshwj xeeb los xyuas kom muaj kev tshaj tawm cov neeg txhais lus thiab tshuab virtual hauv browsers rau hom lus Lua, C#, Python, Ruby thiab Perl. Nws kuj tseem tuaj yeem siv tsis-Clang frontends rau LLVM, muaj rau cov lus xws li Swift, Rust, D thiab Fortran.

Kev hloov pauv loj hauv Emscripten 3.0:

  • Lub tsev qiv ntawv musl C siv hauv emscripten tau hloov kho rau version 1.2.2 (version 2 tau siv hauv Emscripten 1.1.15.x ceg).
  • Ib feem ntawm cov haujlwm uas feem ntau siv nyob rau hauv qhov project tau raug tshem tawm ntawm lub tsev qiv ntawv parseTools.js: tshemPointing, taw tesLevels, tshem tawmAllPointing, isVoidType, isStructPointerType, isArrayType, isStructType, isVectorType, isStructuralPyarty gets FunctionDef, isPossiblyFunctionType, isFunctionType, getReturnType, splitTo kenList, _IntToHex, IEEEUnHex, Compiletime.isPointerType, Compiletime.isStructType, Compiletime.INT_TYPES, isType.
  • Nyob rau hauv lub plhaub.html thiab shell_minimal.html templates, cov zis ntawm cov lus yuam kev uas tshwm sim thaum lub sij hawm ua hauj lwm ntawm emscripten thiab yog tso tawm los ntawm daim ntawv thov ntawm stderr yog hloov los ntawm lub neej ntawd mus siv console.warn es tsis txhob console.error.
  • Ntxiv lub peev xwm los qhia cov ntawv tshwj xeeb encoding siv hauv cov npe cov ntaub ntawv. Lub encoding tuaj yeem teev nyob rau hauv daim ntawv ntawm cov lus tom qab thaum dhau cov ntaub ntawv npe, piv txwv li, "a.rsp.utf-8" lossis "a.rsp.cp1251").

Tau qhov twg los: opennet.ru

Ntxiv ib saib