Scaoileadh tiomsaitheoir Go Tinygo 0.7.0, LLVM-bhunaithe

Ar fáil scaoileadh tionscadail Tinygo 0.7.0, atá ag forbairt tiomsaitheoir teanga Go do réimsí a dteastaíonn léiriú dlúth ar an gcód mar thoradh air agus tomhaltas íseal acmhainní, amhail micrea-rialaitheoirí agus córais dhlúth-phróiseálaithe aonair. Cód dáilte ag faoin gceadúnas BSD.

Déantar tiomsú do sprioc-ardáin éagsúla a chur i bhfeidhm ag baint úsáide as LLVM, agus úsáidtear leabharlanna a úsáidtear sa phríomhfhoireann uirlisí ón tionscadal Go chun tacú leis an teanga. Is féidir an clár tiomsaithe a reáchtáil go díreach ar mhicririalaitheoirí, rud a fhágann gur féidir Go a úsáid mar theanga chun scripteanna uathoibrithe a scríobh.

Ba é an spreagadh chun tionscadal nua a chruthú ná an fonn an teanga eolach Go a úsáid ar ghléasanna dlútha - rinne na forbróirí réasúnú dá mbeadh leagan Python ann do mhicririalaitheoirí, ansin cén fáth nach gcruthófaí ceann cosúil leis don teanga Go. Téigh roghnaithe in ionad Rust toisc go bhfuil sé níos éasca a fhoghlaim, soláthraíonn sé tacaíocht snáithe-neamhspleách do chomhthreomharú coroutine-bhunaithe, agus cuireann sé leabharlann caighdeánach fairsing (“ceallraí san áireamh”).

San fhoirm atá ann faoi láthair, tacaítear le 15 mhúnla micrea-rialaithe, lena n-áirítear boird éagsúla ó Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordach Semiconductor, Makerdiary agus Phytec. Is féidir cláir a chur le chéile freisin le rith i mbrabhsálaí i bhformáid WebAssembly agus mar chomhaid inrite do Linux. Tacaíonn sé le rialtóirí ESP8266 / ESP32 Fós, ach tá tionscadal ar leith á fhorbairt chun tacaíocht a chur leis an sliseanna Xtensa i LLVM, atá fós marcáilte mar éagobhsaí agus nach bhfuil réidh le comhtháthú le TinyGo.

Príomhspriocanna an tionscadail:

  • Comhaid inrite an-dhlúth a ghiniúint;
  • Tacaíocht do na samhlacha is coitianta de bhoird microcontroller;
  • Féidearthacht iarratais ar an nGréasán;
  • Tacaíocht CGo le forchostais íosta nuair a ghlaonn tú feidhmeanna in C;
  • Tacaíocht don chuid is mó de na pacáistí caighdeánacha agus an cumas cód cineálach atá ann cheana a thiomsú gan é a athrú.

    Níl tacaíocht do chórais illárnacha i measc na bpríomhspriocanna, i.e.
    líon mór coroutines a sheoladh go héifeachtach (tacaítear go hiomlán le seoladh coroutines féin), gnóthachtáil leibhéal feidhmíochta an tiomsaitheora tagartha gc (fágtar an leas iomlán a bhaint as LLVM agus i roinnt feidhmchlár d’fhéadfadh Tinygo a bheith níos tapúla ná gc) agus iomlán. comhoiriúnacht le gach feidhmchlár Go.

    An príomh-difríocht ó tiomsaitheoir den chineál céanna emgo Is iarracht é múnla bainistíochta cuimhne bunaidh Go a chaomhnú trí úsáid a bhaint as bailiú truflais agus LLVM a úsáid chun cód éifeachtach a ghiniúint in ionad é a thiomsú chuig léiriú C. Tairgeann Tinygo leabharlann ama rite nua freisin a chuireann sceidealóir, córas leithdháilte cuimhne, agus láimhseálaithe teaghrán optamaithe le haghaidh dlúthchórais i bhfeidhm. Athchruthaíodh roinnt pacáistí, mar shampla sioncronú agus machnamh, bunaithe ar an am rite nua.

    I measc na n-athruithe ar eisiúint 0.7 tá cur i bhfeidhm an ordaithe “tinygo test”, tacaíocht bailithe truflais a sholáthar don chuid is mó de na spriocchláir (bunaithe ar ARM Cortex-M) agus WebAssembly, tacaíocht don bhord HiFive1 rev B bunaithe ar an RISC- V ailtireacht agus bord nano33 Arduino,
    tacaíocht teanga fheabhsaithe (tacaíocht do réimsí giotán ag baint úsáide as getters agus socraitheoirí, tacaíocht do struchtúir gan ainm).

    Foinse: oscailtenet.ru

  • Add a comment