Sgaoileadh Tinygo 0.7.0, inneal-cruinneachaidh Go stèidhichte air LLVM

Ri fhaighinn foillseachadh pròiseict Tinygo 0.7.0, a tha a’ leasachadh inneal-cruinneachaidh cànain Go airson raointean a dh’ fheumas riochdachadh teann den chòd a thig às agus caitheamh ghoireasan ìosal, leithid microcontrollers agus siostaman aon-phròiseasair teann. Còd air a sgaoileadh le fo chead BSD.

Tha cruinneachadh airson diofar àrd-ùrlaran targaid air a chuir an gnìomh a’ cleachdadh LLVM, agus thathas a’ cleachdadh leabharlannan anns a’ phrìomh inneal bhon phròiseact Go gus taic a thoirt don chànan. Faodar am prògram cruinnichte a ruith gu dìreach air microcontrollers, a’ leigeil le Go a chleachdadh mar chànan airson sgriobtaichean fèin-ghluasaid a sgrìobhadh.

B’ e am brosnachadh airson pròiseact ùr a chruthachadh am miann an cànan eòlach Go a chleachdadh air innealan teann - rinn an luchd-leasachaidh reusanachadh nam biodh dreach Python ann airson microcontrollers, carson nach cruthaich thu fear coltach ris airson a’ chànan Go. Rachaibh taghte an àite Rust leis gu bheil e nas fhasa ionnsachadh, a’ toirt seachad taic snàithlean-neo-eisimeileach airson co-shìnteadh stèidhichte air coroutine, agus a’ tabhann leabharlann àbhaisteach farsaing (“bataraidhean air an toirt a-steach”).

Anns an riochd a th’ ann an-dràsta, thathas a’ toirt taic do mhodalan microcontroller 15, a’ toirt a-steach diofar bhùird bho Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary agus Phytec. Faodar prògraman a chur ri chèile cuideachd airson ruith ann am brabhsair ann an cruth WebAssembly agus mar fhaidhlichean so-ghnìomhaichte airson Linux. A 'toirt taic do luchd-riaghlaidh ESP8266 / ESP32 Chan ann fhathast, ach tha pròiseact air leth ga leasachadh gus taic a chuir ris a’ chip Xtensa ann an LLVM, a tha fhathast air a chomharrachadh mar neo-sheasmhach agus nach eil deiseil airson aonachadh le TinyGo.

Prìomh amasan pròiseict:

  • Gineadh faidhlichean so-ghnìomhaichte gu math toinnte;
  • Taic airson na modailean as cumanta de bhùird microcontroller;
  • Comasach air tagradh airson an Lìon;
  • Taic CGo le glè bheag de chosgais nuair a bhios tu a’ gairm ghnìomhan ann an C;
  • Taic airson a’ mhòr-chuid de phasganan àbhaisteach agus an comas còd àbhaisteach a chuir ri chèile gun atharrachadh.

    Chan eil taic airson siostaman ioma-cridhe am measg nam prìomh amasan,
    cuir air bhog àireamh mhòr de coroutines gu h-èifeachdach (tha cur air bhog coroutines fhèin a’ faighinn làn thaic), coileanadh ìre coileanaidh an cruinneachaidh iomraidh gc (tha optimization air fhàgail aig LLVM agus ann an cuid de thagraidhean faodaidh Tinygo a bhith nas luaithe na gc) agus coileanta co-chòrdachd leis a h-uile tagradh Go.

    Is e am prìomh eadar-dhealachadh bho neach-cruinneachaidh coltach ris emgo na oidhirp air modal riaghlaidh cuimhne tùsail Go a ghlèidheadh ​​​​a’ cleachdadh cruinneachadh sgudail agus LLVM a chleachdadh gus còd èifeachdach a ghineadh an àite a bhith ga chur ri chèile gu riochdachadh C. Bidh Tinygo cuideachd a’ tabhann leabharlann runtime ùr a bhios a’ buileachadh clàr-ama, siostam riarachadh cuimhne, agus luchd-làimhseachaidh sreang air an ùrachadh airson siostaman teann. Chaidh cuid de phasganan, leithid sioncranachadh agus meòrachadh, ath-chruthachadh stèidhichte air an ùine ruith ùr.

    Am measg nan atharrachaidhean ann an sgaoileadh 0.7 tha buileachadh an àithne “tinygo test”, solarachadh taic cruinneachadh sgudail airson a’ mhòr-chuid de bhùird targaid (stèidhichte air ARM Cortex-M) agus WebAssembly, taic airson bòrd HiFive1 rev B stèidhichte air an RISC- V ailtireachd agus bòrd nano33 Arduino,
    taic cànain nas fheàrr (taic airson raointean bit a’ cleachdadh getters agus setters, taic airson structaran gun urra).

    Source: fosgailtenet.ru

  • Cuir beachd ann