Lëshimi Tinygo 0.28, kompileri i gjuhës Go bazuar në LLVM

Versioni i projektit Tinygo 0.28 është në dispozicion, e cila zhvillon kompilatorin e gjuhës Go për fusha ku kërkohet një përfaqësim kompakt i kodit të rezultatit dhe konsum të ulët të burimeve, siç janë mikro-kontrollorët dhe sistemet kompakt të një procesori. Kompilimi për platforma të ndryshme të caktohet përmes LLVM, dhe për mbështetje të gjuhës përdoren bibliotekat e aplikuara gjithashtu në mjetet kryesore nga projekti Go. Kodi shpërndahet nën licencën BSD.

Programi i kompjuterizuar mund të ekzekutohet drejtpërdrejt në mikro-kontrollorë, duke lejuar që Go të përdoret si gjuhë për të shkruar skripte automatizimi. Në formën aktuale, mbështeten 94 modele mikro-kontrollorësh, duke përfshirë të ndryshmet plaka Adafruit, Arduino, BBC micro, ESP32, M5Stack, ST Micro, Digispark, Raspberry Pi Pico, Nordic Semiconductor, SiFive HiFive1, STM32, Makerdiary dhe Phytec. Për ndërveprimin me sensorët dhe pajisjet e jashtme të lidhura, si dhe për mbështetje për ndërfaqe si I2C, GPIO dhe SPI, ofrohen shoferë specialë. Programet gjithashtu mund të ndërlidhen në formatin WebAssembly (wasm/wasi) për t'u ekzekutuar në shfletues dhe si skedarë ekzekutivë 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, mbĂ«shtetja e reflektimeve Ă«shtĂ« pĂ«rmirĂ«suar ndjeshĂ«m dhe Ă«shtĂ« ofruar njĂ« implementim i vetĂ« bibliotekĂ«s reflect, qĂ« lejon arritjen e kompatibilitetit me shumĂ« paketa nga biblioteka standarde, me tĂ« cilat mĂ« parĂ« kishte probleme. PĂ«r mĂ« tepĂ«r, nĂ« versionin e ri Ă«shtĂ« shtuar mbĂ«shtetja e drejtorisĂ« "//go:wasmimport emri_i_modulit emri_i_funksionit" pĂ«r importimin e funksioneve nga WebAssembly. ËshtĂ« shtuar mbĂ«shtetje pĂ«r bordet e reja, siç Ă«shtĂ« bordi Gopher Badge.

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