Rhyddhau Tinygo 0.7.0, casglwr Go yn seiliedig ar LLVM

Ar gael rhyddhau prosiect Tinygo 0.7.0, sy'n datblygu casglwr iaith Go ar gyfer meysydd sydd angen cynrychiolaeth gryno o'r cod canlyniadol a defnydd isel o adnoddau, megis microreolyddion a systemau prosesydd sengl cryno. CΓ΄d dosbarthu gan dan y drwydded BSD.

Mae casglu ar gyfer gwahanol lwyfannau targed yn cael ei weithredu gan ddefnyddio LLVM, a defnyddir llyfrgelloedd a ddefnyddir yn y prif becyn cymorth o'r prosiect Go i gefnogi'r iaith. Gellir rhedeg y rhaglen a luniwyd yn uniongyrchol ar ficroreolyddion, gan ganiatΓ‘u i Go gael ei ddefnyddio fel iaith ar gyfer ysgrifennu sgriptiau awtomeiddio.

Y cymhelliad dros greu prosiect newydd oedd yr awydd i ddefnyddio’r iaith Go gyfarwydd ar ddyfeisiadau cryno – roedd y datblygwyr yn rhesymu os oedd fersiwn Python ar gyfer microreolyddion, yna beth am greu un tebyg ar gyfer yr iaith Go. Ewch wedi'i ddewis yn lle Rust oherwydd ei fod yn haws ei ddysgu, mae'n darparu cefnogaeth edau-annibynnol ar gyfer paraleleiddio yn seiliedig ar coroutine, ac yn cynnig llyfrgell safonol helaeth (β€œbatris wedi'u cynnwys”).

Ar hyn o bryd, cefnogir 15 model microreolydd, gan gynnwys gwahanol fyrddau o Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary, a Phytec. Gellir llunio rhaglenni hefyd ar gyfer gweithredu porwr ar ffurf WebAssembly ac fel ffeiliau gweithredadwy ar gyfer LinuxCefnogaeth ar gyfer rheolwyr ESP8266/ESP32 Ddim eto, ond mae prosiect ar wahΓ’n yn cael ei ddatblygu i ychwanegu cefnogaeth i'r sglodyn Xtensa yn LLVM, sy'n dal i gael ei farcio'n ansefydlog ac nad yw'n barod i'w integreiddio Γ’ TinyGo.

Nodau allweddol y prosiect:

  • Cynhyrchu ffeiliau gweithredadwy cryno iawn;
  • Cefnogaeth i'r modelau mwyaf cyffredin o fyrddau microreolyddion;
  • Posibilrwydd cais ar gyfer y We;
  • Cefnogaeth CGo gydag ychydig iawn o orbenion wrth alw swyddogaethau yn C;
  • Cefnogaeth i'r rhan fwyaf o becynnau safonol a'r gallu i lunio cod safonol presennol heb ei newid.

    Nid yw cefnogaeth ar gyfer systemau aml-graidd ymhlith y prif nodau,
    lansiad effeithlon o nifer enfawr o goroutines (mae lansiad coroutines ei hun yn cael ei gefnogi'n llawn), cyflawniad lefel perfformiad y casglwr cyfeiriog gc (gadewir optimeiddio i LLVM ac mewn rhai cymwysiadau gall Tinygo fod yn gyflymach na gc) a chwblhau cydnawsedd gyda phob cais Go.

    Y prif wahaniaeth o gasglwr tebyg emgo yn ymgais i gadw model rheoli cof gwreiddiol Go gan ddefnyddio casglu sbwriel a defnyddio LLVM i gynhyrchu cod effeithlon yn lle ei lunio i gynrychioliad C. Mae Tinygo hefyd yn cynnig llyfrgell amser rhedeg newydd sy'n gweithredu rhaglennydd, system dyrannu cof, a thrinwyr llinynnau wedi'u optimeiddio ar gyfer systemau cryno. Mae rhai pecynnau, fel cysoni ac adlewyrchu, wedi'u hail-greu yn seiliedig ar yr amser rhedeg newydd.

    Ymhlith y newidiadau yn y datganiad 0.7 mae gweithredu'r gorchymyn β€œprawf Tinygo”, darparu cefnogaeth casglu sbwriel ar gyfer y mwyafrif o fyrddau targed (yn seiliedig ar ARM Cortex-M) a WebAssembly, cefnogaeth i fwrdd HiFive1 rev B yn seiliedig ar y RISC- pensaernΓ―aeth V a bwrdd nano33 Arduino,
    gwell cefnogaeth iaith (cefnogaeth ar gyfer meysydd didau gan ddefnyddio getters a setters, cefnogaeth ar gyfer strwythurau dienw).

    Ffynhonnell: opennet.ru

  • Prynu gwesteio dibynadwy ar gyfer gwefannau sydd Γ’ diogelwch DDoS, gweinyddwyr VPS VDS πŸ”₯ Prynu cynnal gwefannau dibynadwy gyda diogelwch DDoS, gweinyddion VPS VDS | ProHoster