Cheerp yakavhurika sosi compiler kubva kuC/C++ kuenda kuWebAssembly uye JavaScript

cheerp

Cheerp: A C++ Compiler yeWebhu

Yakaziviswa nguva pfupi yapfuura Cheerp 3.0 kuburitswa, muunganidzi uyo inokutendera kuti uunganidze chero C/C++ kodhi muWebAssembly kana JavaScript. Bazi idzva rakakosha kufambisa muunganidzi uye maraibhurari anoperekedza kushandisa marezinesi eApache 2.0 neLLVM, pane yaimboshandiswa rezinesi rezinesi, iro rinopa GPLv2 rezinesi sarudzo yemapurojekiti asiri ekutengesa uye muridzi werezinesi rezvirongwa zvekutengesa.

Cheerp inogona kushandiswa zvese kutakura zviripo C/C++ maapplication uye maraibhurari ekumhanya mubrowser, kana kugadzira yakakwirira-inoshanda webhu maapplication uye WebAssembly zvikamu kubva kutanga.

Pange papfuura gore kubva pakaburitswa Cheerp ( Cheerp 2.7 ), uye iyi vhezheni itsva yakazara nezvinhu zvitsva uye optimizations iyo, zvakare, inofambisa mamiriro ehunyanzvi hwekushandisa C++ semutauro wepurogiramu yeWebhu application. mitambo.

Kunyanya kukosha, nekuburitswa uku tiri kuita shanduko yakakosha kune Cheerp's rezinesi modhi. Nezve Cheerp 3.0, ese epakati compiler zvikamu uye maraibhurari ave kubvumidzwa nemvumo pasi peiyo Apache 2.0/LLVM rezinesi. Izvi zvinoratidza kusimuka kukuru kubva kune yedu yapfuura GPLv2/mbiri mbiri yerezinesi rezinesi modhi, ichibvumira Cheerp 3.0 kushandiswa chero chinangwa, pasina kurambidzwa.

About Cheerp

Iyo purojekiti inokutendera kuti ubatanidze C/C++ kodhi uye JavaScript muwebhu application nekwaniso yekuwana kubva kuJavaScript kodhi kuenda kumabasa akatanga kugadzirwa muC/C++, uye kubva kuC/C++ kodhi kuenda kuJavaScript zvinhu, JavaScript raibhurari, Web APIs, uye ese maficha eDOM, pamwe nekukubvumidza iwe kugadzira zvakasanganiswa kuvaka, chikamu che iyo kodhi inounganidza kuJavaScript uye zvikamu kuWebAssembly. Inotsigira kuvaka mapurojekiti anoshandisa akajairwa libc uye libc ++ maraibhurari.

Kuenzaniswa neEmscripten compiler, Cheerp inogadzira yakagadziridzwa uye compact WebAssembly yepakati kodhi (Paavhareji, mhedzisiro yemafaira saizi i7% idiki.)

Sezvineiwo, misiyano inodzika kune chokwadi chekuti Nyorera inoshandiswa sechinhu chimiro cheWebAssembly uye inoita kusunga nekugadzirisa mune post-processing nhanho ye. web assembly (wasm-opt). Cheerp inoshandisa LLVM bytecode semumiriri wepakati wemaraibhurari uye mafaera echinhu, achibvumira purojekiti-yakafara optimizations uchishandisa LLVM-level metadata pasina kudiwa kwemashure-kugadzirisa.

Nyaya inoenderana:
Emscripten 3.0, chishandiso chekuvaka cheWebAssembly uchishandisa LLVM

Uyewo, Cheerp inoshandisa iyo PreExecuter optimizer kuita preemptively kuita kodhi panguva yekubatanidza, semuenzaniso, kushandura vagadziri vanoshandiswa kutanga zvinhu zvepasi rose kune zvinogara. Pamusoro pezvo, PartialExecuter inoshandiswa panguva yekubatanidza, iyo, zvichibva pakupatsanura maparamendi ebasa, inobvisa kodhi inovimbiswa kusashandiswa pakuurayiwa.

Cheerp inogonawo kugadzira JavaScript kodhi kuti ishande zvine simba nendangariro. yakafukidzwa nemuunganidzi wemarara. Kunyanya, pachinzvimbo chekutevedzera echinyakare kero nzvimbo ine taipa arrays, Cheerp inopa yakananga mepu kubva kuC ++ zvinhu kuenda kuJavaScript zvinhu, izvo zvinoderedza kushandiswa kwendangariro nekuti muunganidzi wemarara weJavaScript anokwanisa kubvisa zvinhu zvisina kushandiswa. Kuti uvandudze mashandiro, iyo yakagadzirwa WebAssembly yepakati kodhi inoshandisa SIMD mawedzero kuronga kuenzanirana kwe data mashandiro.

Cheerp inogona kushandiswa sepuratifomu yekuvaka yakamisikidzwa webhu maapplication mutengi/seva muC++. Mukuita kwazvino, zvakajairika kugadzira imwe browser-based front-end yakanyorwa muJavaScript uye yakaparadzana kumashure-kuguma yakanyorwa muPHP, Python, Ruby, kana JavaScript/Node.js.

Cheerp inopa nzira yekuvaka yakakwana C ++ web applications inotsigira zvese kumashure uye kumberi mune imwechete kodhi base.

Munguva yekuvaka maitiro, iyo server-side inounganidzwa kune yekuzvarwa kodhi, uye iyo interface inoshandurwa kuita inomiririra JavaScript. Kugadzirisa zvese zvikamu zvepurojekiti, kusanganisira izvo zvakashandurwa kuJavaScript, kunoitwa pachishandiswa C++ zvinyorwa zvepamhepo uchishandisa Source Mepu tekinoroji.

Pakupedzisira, kana iwe uchifarira kuziva zvakawanda nezvazvo, unogona kutarisa ruzivo mu inotevera chinongedzo.

Iyo compiler kodhi yakavakirwa pane iyo LLVM uye Clang budiriro uye inosanganisira yakawedzera optimizations yekuvandudza mashandiro uye kuderedza saizi yezvakagadzirwa.


Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira data: AB Internet Networks 2008 SL
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako