پروجيڪٽ ڇڏڻ ، جيڪو ترقي ڪري رهيو آهي هڪ گو ٻولي ڪمپلر انهن علائقن لاءِ جنهن کي گهربل ڪوڊ جي جامع نمائندگي ۽ گهٽ وسيلن جي استعمال جي ضرورت آهي، جهڙوڪ مائڪرو ڪنٽرولرز ۽ ڪمپيڪٽ سنگل پروسيسر سسٽم. ڪوڊ BSD لائسنس جي تحت.
LLVM استعمال ڪندي مختلف ٽارگيٽ پليٽ فارمن لاءِ تاليف تي عمل ڪيو ويو آهي، ۽ گو پروجيڪٽ جي مکيه ٽول ڪٽ ۾ استعمال ٿيندڙ لائبريريون ٻولي کي سپورٽ ڪرڻ لاءِ استعمال ڪيون وينديون آهن. مرتب ڪيل پروگرام سڌو سنئون مائڪروڪنٽرولرز تي هلائي سگھجي ٿو، اجازت ڏئي ٿي Go کي ٻولي طور استعمال ٿيڻ جي آٽوميشن اسڪرپٽس لکڻ لاءِ.
هڪ نئين پروجيڪٽ ٺاهڻ جي حوصلا افزائي هئي واقف گو ٻولي استعمال ڪرڻ جي خواهش ڪمپيڪٽ ڊوائيسز تي - ڊولپرز اهو دليل ڏنو ته جيڪڏهن مائڪرو ڪنٽرولرز لاءِ پٿون نسخو موجود آهي ته پوءِ ڇو نه Go ٻولي لاءِ هڪ جهڙو ٺاهيو وڃي. وڃ Rust جي بدران ڇاڪاڻ ته اهو سکڻ آسان آهي، ڪوروٽين جي بنياد تي متوازي ڪرڻ لاء ٿريڊ-آزاد سپورٽ مهيا ڪري ٿو، ۽ هڪ وسيع معياري لائبريري پيش ڪري ٿو ("بيٽريون شامل").
В текущем виде поддерживается 15 моделей микроконтроллеров, включая различные платы Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary и Phytec. Программы также могут быть собраны для запуска в браузере в формате WebAssembly и в виде исполняемых файлов для Linux. Поддержки контроллеров ESP8266/ESP32 ، پر LLVM ۾ Xtensa چپ لاءِ سپورٽ شامل ڪرڻ لاءِ هڪ الڳ پروجيڪٽ تيار ڪيو پيو وڃي، جيڪو اڃا تائين غير مستحڪم طور نشان لڳايو ويو آهي ۽ TinyGo سان انضمام لاءِ تيار ناهي.
اهم منصوبي جا مقصد:
ملٽي-ڪور سسٽم لاءِ سپورٽ بنيادي مقصدن مان نه آهي،
وڏي تعداد ۾ ڪوروٽينز جو موثر لانچ (ڪوروٽينز جو لانچ خود مڪمل طور تي سپورٽ ڪيو ويو آهي)، ريفرنس ڪمپلر جي سي جي ڪارڪردگي جي سطح جي حاصلات (اصلاح کي LLVM ڏانهن ڇڏي ويو آهي ۽ ڪجهه ايپليڪيشنن ۾ Tinygo gc کان تيز ٿي سگهي ٿو) ۽ مڪمل سڀني Go ايپليڪيشنن سان.
بنيادي فرق هڪ ساڳئي ڪمپيلر کان گو جي اصل ميموري مئنيجمينٽ ماڊل کي محفوظ ڪرڻ جي ڪوشش آهي ڪچري کي گڏ ڪندي ۽ LLVM استعمال ڪري موثر ڪوڊ پيدا ڪرڻ جي بجاءِ ان کي C نمائندگي ۾ گڏ ڪرڻ جي. Tinygo هڪ نئين رن ٽائم لائبريري پڻ پيش ڪري ٿو جيڪا هڪ شيڊولر، ميموري مختص ڪرڻ وارو نظام، ۽ اسٽرنگ هينڊلر کي ڪمپيڪٽ سسٽم لاءِ بهتر بڻائي ٿي. ڪجهه پيڪيجز، جهڙوڪ هم وقت سازي ۽ موٽڻ، نئين رن ٽائم جي بنياد تي ٻيهر ٺاهيا ويا آهن.
رليز 0.7 ۾ تبديلين ۾ شامل آهن ”ٽائنيگو ٽيسٽ“ ڪمانڊ جو نفاذ، اڪثر ٽارگيٽ بورڊز (ARM Cortex-M جي بنياد تي) ۽ WebAssembly لاءِ ڪچرو گڏ ڪرڻ جي سهولت جي فراهمي، RISC- جي بنياد تي HiFive1 rev B بورڊ جي حمايت. V فن تعمير ۽ Arduino نانو 33 بورڊ،
بهتر ٻولي جي مدد (گيٽرز ۽ سيٽرز استعمال ڪندي بٽ فيلڊز لاءِ سپورٽ، گمنام ڍانچي لاءِ سپورٽ).
جو ذريعو: opennet.ru
