LLVM tabanlı bir Go derleyicisi olan Tinygo

minik go

TinyGo: küçük yerler için bir Go derleyicisi

Mikrodenetleyicilerle çalışıyorsanız ve bir Go tutkunuysanız, Tinygo sizin için olabilir, bundan beri bir Go p derleyici geliştirildiGömülü sistem mikrodenetleyicileri ve WebAssembly gibi ortaya çıkan kodun kompakt bir temsilini ve düşük kaynak tüketimini gerektiren alanlar için.

TinyGo bir derleyicidir. Go yapısını çeşitli hedef platformlara getirmeyi hedefliyor hangi uygulanır LLVM kullanarak, ve ana Go projesi araç setinde kullanılan kitaplıklar, dili desteklemek için kullanılır.

Tinygo web sitesinde şu şekilde açıklanmıştır:

TinyGo programlarını BBC micro:bit ve Arduino Uno dahil olmak üzere 94'ün üzerinde farklı mikrodenetleyici kartında derleyebilir ve çalıştırabilirsiniz.

TinyGo ayrıca boyut olarak oldukça kompakt WebAssembly (WASM) kodu da üretebilir. WebAssembly System Interface (WASI) arabirim ailesini destekleyen sunucular ve uç bilgi işlem ortamlarının yanı sıra web tarayıcıları için programlar oluşturabilirsiniz.

TinyGO projesini yaratmanın nedeni, kompakt cihazlarda yaygın olan Go dilini kullanma arzusuydu.- Geliştiriciler, mikrodenetleyiciler için bir Python sürümü varsa, neden Go dili için benzer bir sürüm oluşturmayalım?

TinyGo'da, derlenen program doğrudan mikrodenetleyiciler üzerinde çalıştırılabilir, lveya Go'nun otomasyon betikleri yazmak için bir dil olarak kullanılmasını mümkün kılıyor. TinyGo şu anda 94 mikrodenetleyici modelini desteklemektedir.diğerleri arasında Raspberry Pi Pico, Nordic, SiFive gibi çeşitli kartlar dahil.

TinyGo özel sürücüleri sağlar bağlı harici cihazlar ve sensörler ile arayüz oluşturmanın yanı sıra I2C, GPIO ve SPI gibi arayüzleri desteklemek için. Programlar, bir tarayıcıda ve Linux ikili dosyaları olarak çalışmak üzere WebAssembly (wasm/wasi) biçiminde de derlenebilir.

Projenin temel hedefleri:

  • Bilinen Go dilinin bir alt kümesini kompakt cihazlarda kullanma yeteneği. Öğrenmesi daha kolay olduğu, rutin tabanlı paralelleştirme için iş parçacığından bağımsız destek sağladığı ve kapsamlı bir standart kitaplık sunduğu için Rust yerine Go seçildi.
  • Çok kompakt yürütülebilir dosyaların oluşturulması.
  • En yaygın mikrodenetleyici anakart modelleri için destek.
  • Web için kullanma ve WASI (WebAssembly) kullanarak bağımsız WebAssembly uygulamaları oluşturma yeteneği
  • Sistem Arayüzü) işletim sistemi tarafından sağlanan dosyalar, yuvalar ve diğer işlevlerle çalışmak için.
  • C dili işlevlerini çağırırken minimum ek yük ile CGo desteği.
  • Çoğu standart paketle uyumluluk ve genel mevcut kodu değiştirmeden derleme yeteneği.
  • Kullanımdan kaldırılan benzer emgo derleyicisinin aksine Tinygo, Go'nun orijinal bellek yönetimi modelini bir çöp toplayıcı aracılığıyla korur ve verimli yerel kod oluşturmak için bir C temsilinde derlemek yerine LLVM'yi kullanır.

Tinygo'nun yakın zamanda 0.28 olan yeni bir sürüm aldığını belirtmekte fayda var ve bu yeni sürümde, yansıma desteğinin önemli ölçüde iyileştirildiği ve birçok standart kitaplıkla uyumluluk elde etmeyi mümkün kılan kendi yansıma kitaplığı uygulamasını sunduğu göze çarpıyor. Daha önce sorun yaşayan paketler.

Ek olarak, yeni sürüm, özellikleri WebAssembly'den içe aktarmak için "//go:wasmimport" yönergesi ve ayrıca Gopher Rozetleri gibi yeni kartlar için destek ekler.

Nihayet Bununla ilgili daha fazla bilgi edinmek istiyorsanız, ayrıntıları kontrol edebilirsiniz aşağıdaki bağlantı.

Tinygo Linux'a nasıl kurulur?

Olanlar için Tinygo'yu kurabilmekle ilgileniyor, Debian, Raspbian, Ubuntu ve türevlerinde. Bir terminal açmaları gerekiyor ve içinde aşağıdaki komutu uygulayacağız:

wget https://github.com/tinygo-org/tinygo/releases/download/v0.28.1/tinygo_0.28.1_amd64.deb sudo dpkg -i tinygo_0.28.1_amd64.deb

ARM cihazları için özel sistemler için (Raspbian ve Ubuntu sürümleri)

Aşağıdakileri yazacağız:

wget https://github.com/tinygo-org/tinygo/releases/download/v0.28.1/tinygo_0.28.1_arm64.deb sudo dpkg -i tinygo_0.28.1_arm64.deb

Arch Linux ve türevlerini kullananların aşağıdaki komutu çalıştırmaları gerekir:

sudo pacman -S tinygo

Şimdi Fedora kullanıcıları için:

sudo dnf install tinygo

Kurulumu tamamladıktan sonra, tinygo'nun yolunun kendi PATH'lerinde olduğundan emin olmalıdırlar.

dışa aktarma PATH=$PATH:/usr/local/tinygo/bin

Sonunda kurulumu doğrula aşağıdaki komutu yazacağız:

minikgo versiyonu

Ve bize böyle bir şey atmalı

tinygo sürüm 0.28.1 linux/amd64

Bu konuda daha fazla bilgi edinmek için danışabilirsiniz aşağıdaki bağlantı. 


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.