TinyGo ایک گو لینگویج کمپائلر ہے جس کا مقصد مائیکرو کنٹرولرز، WASM، اور کمانڈ لائن یوٹیلیٹی ڈیولپمنٹ جیسے شعبوں میں استعمال کرنا ہے۔

TinyGo گو پروجیکٹ میں لکھی گئی یوٹیلیٹیز اور لائبریریوں کا استعمال کرتا ہے، جبکہ LLVM پروجیکٹ کے کام پر مبنی پروگراموں کو مرتب کرنے کے لیے ایک متبادل طریقہ فراہم کرتا ہے۔

پروجیکٹ کے مقاصد:

  1. قابل عمل فائلوں کے کم از کم سائز کو یقینی بنائیں۔
  2. مائکروکنٹرولرز کی سب سے بڑی تعداد کو سپورٹ کرتا ہے۔
  3. WebAssembly کی حمایت.
  4. اچھی سی جی او سپورٹ۔
  5. تبدیلیوں کے بغیر اصل گو کوڈ کی حمایت۔

مائیکرو کنٹرولر پر ایل ای ڈی کو تبدیل کرنے کے لیے استعمال کی مثال:

پیکیج مین

درآمد (
"آلہ"
"وقت"
)

فنک مین () {
قیادت := مشین۔ ایل ای ڈی
led.Configure(machine.PinConfig{Mode: machine.PinOutput})
کے لیے {
led.Low()
وقت۔ نیند (وقت۔ ملی سیکنڈ * 1000)

led.High()
وقت۔ نیند (وقت۔ ملی سیکنڈ * 1000)
}
}

ورژن 0.6.0 بہت سی تبدیلیوں پر مشتمل ہے۔ اہم کا تعلق CGo، js.FuncOF (Go 1.12+) کے ساتھ ساتھ دو نئے ترقیاتی بورڈز: Adafruit Feather M0 اور Adafruit Trinket M0 کے لیے بہتر تعاون سے ہے۔

تبدیلیوں کی مکمل فہرست پر دستیاب ہے۔ GitHub پروجیکٹ کا صفحہ.

ماخذ: linux.org.ru

نیا تبصرہ شامل کریں