rhyddhau prosiect , 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 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 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 , 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:
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 gyda phob cais Go.
Y prif wahaniaeth o gasglwr tebyg 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
