發布 Tinygo 0.34,基於 LLVM 的 Go 編譯器

Tinygo 0.34專案已經發布,為微控制器和嵌入式設備等需要產生非常緊湊的可執行檔和低資源消耗的低功耗系統開發Go語言編譯器。在tinygo中使用LLVM實現支援目標的編譯,函式庫借用自主要的Go專案工具包。該代碼是在 BSD 許可證下分發的。

編譯後的程式可以直接在微控制器上執行,從而允許使用 Go 語言的子集來編寫自動化腳本。目前支援一百多種微控制器型號,包括各種 Adafruit、Arduino、BBC micro、ESP32、M5Stack、ST Micro、Digispark、Raspberry Pi Pico、Nordic Semiconductor、SiFive HiFive1、STM32、Makerdiary 和 Phytec 板。提供特殊驅動程式來與感測器和連接的外部設備交互,並支援 I2C、GPIO 和 SPI 等介面。

與過去三年沒有更新的類似 emgo 編譯器不同,tinygo 保留了 Go 原始的垃圾收集器記憶體管理模型,並且不編譯為 C 表示,而是使用 LLVM 產生高效的機器碼。程式可以不加修改地使用現有的標準 Go 程式碼以及大多數標準套件。除了機器碼生成之外,tinygo 還支援 WebAssembly 生成,能夠使用 WASI(WebAssembly 系統介面)介面建立獨立的 WebAssembly 應用程式。

新版本實現了對大端字節順序的 MIPS 架構的支持,也增加了對 RAKwireless RAK4631 和 WaveShare ESP-C3-32S-Kit 板的支援。新增了「//go:wasmexport」指令來匯出 WebAssembly 函數。垃圾收集器的效能已最佳化。新增了新的命令列選項「-C DIR」和「-ldflags='-extldflags=…'」。

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster