ËshtĂ« publikuar Tinygo 0.32, kompileri i gjuhĂ«s Go i bazuar nĂ« LLVM

Doli për versionin e projektit Tinygo 0.32, një kompilator për gjuhën Go i dizajnuar për fusha ku kërkohet një përfaqësim kompakt i kodit përfundimtar dhe konsum i ulët i burimeve, si mikro-kontrolerët dhe sistemet e vogla me një procesor. Kompilimi për platforma të ndryshme të synuara arrihet nëpërmjet LLVM, dhe përkrahja e gjuhës realizohet me biblioteka që përdoren kryesisht në mjetet e projektit Go. Kodi shpërndahet nën licencën BSD.

Programi i kompiliuar mund të ekzekutohet drejtpërdrejt në mikro-kontrolerë, duke lejuar përdorimin e Go si gjuhë për shkruajtur skriptet për automatizim. Në formën aktuale, mbështetet më shumë se njëqind modele mikro-kontrolerësh, duke përfshirë bordet e ndryshme Adafruit, Arduino, BBC micro, ESP32, M5Stack, ST Micro, Digispark, Raspberry Pi Pico, Nordic Semiconductor, SiFive HiFive1, STM32, Makerdiary dhe Phytec. Për t'u lidhur me sensorët dhe pajisjet e jashtme, si dhe për mbështetje të interfeseve të tilla si I2C, GPIO dhe SPI, ofrohen drejtues specialë.

Programet gjithashtu mund të kompilohen në formatin WebAssembly (wasm/wasi) për të qenë të ekzekutueshme në shfletues dhe si skedarë ekzekutues për Linux.

Qëllimet kryesore të projektit:

  • MundĂ«sia pĂ«r tĂ« pĂ«rdorur njĂ« nĂ«ngrup tĂ« gjuhĂ«s Go qĂ« e njihni nĂ« pajisje tĂ« vogla. Gjuha Go Ă«shtĂ« zgjedhur mbi Rust, sepse Ă«shtĂ« mĂ« e lehtĂ« pĂ«r t'u mĂ«suar, ofron mbĂ«shtetje tĂ« pavarur nga realizimet pĂ«r paralelizimin duke pĂ«rdorur korutina dhe ofron njĂ« bibliotekĂ« standarde tĂ« gjerĂ« ("bateritĂ« vijnĂ« me paketĂ«").
  • Krijimi i skedarĂ«ve ekzekutivĂ« shumĂ« kompaktĂ«.
  • MbĂ«shtetje pĂ«r modelet mĂ« tĂ« zakonshme tĂ« bordeve tĂ« mikroprocesorĂ«ve.
  • MundĂ«sia pĂ«r pĂ«rdorim nĂ« Web dhe krijimin e aplikacioneve tĂ« veçuara WebAssembly, duke pĂ«rdorur ndĂ«rfaqen WASI (WebAssembly System Interface) pĂ«r tĂ« punuar me skedarĂ«, socket dhe funksione tĂ« tjera qĂ« ofrohen nga sistemi operativ.
  • MbĂ«shtetje pĂ«r CGo me kosto minimale nĂ« thirrjet e funksioneve nĂ« gjuhĂ«n Ç.
  • MbĂ«shtetje pĂ«r shumicĂ«n e paketeve standarde dhe mundĂ«sia pĂ«r kompaktimin e kodit ekzistues pa e ndryshuar atĂ«.
  • Ndryshe nga kompajleri emgo nĂ« gjendje tĂ« braktisur, Tinygo ruan modelin origjinal tĂ« menaxhimit tĂ« memories Go me pĂ«rdorimin e mbledhĂ«sit tĂ« plehrave dhe nĂ« vend tĂ« pĂ«rkthimit nĂ« njĂ« pĂ«rfaqĂ«sim nĂ« gjuhĂ«n C, pĂ«rdor LLVM pĂ«r tĂ« gjeneruar kod mahnitĂ«s tĂ« makinerisĂ«.

NĂ« versionin e ri Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r kartat dhe çipat Pico W, Adafruit ESP32 Feather V2, M5 Paper, PCA10059, stm32 nucleol476rg dhe Pimoroni Badger2040-W. ËshtĂ« siguruar kompatibiliteti me LLVM 18. ËshtĂ« realizuar mundĂ«sia pĂ«r tĂ« pĂ«rdorur hapĂ«sira nĂ« emrat e pajisjeve nĂ« formatin UF2. PĂ«r platformĂ«n esp32 Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r autobusin I2C. ËshtĂ« zgjeruar mbĂ«shtetja pĂ«r WebAssembly.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster