I-Tinygo 0.40, umqokeleli wolwimi lwe-Go, ikhutshiwe.

I-Tinygo 0.40, i-compiler yolwimi lwe-Go, ikhutshiwe. I-compiler ifanelekile ukuvelisa ii-compact executables zeenkqubo zamandla aphantsi, ezifana nee-microcontrollers kunye nezixhobo ezifakwe ngaphakathi, apho iinkqubo zazo kufuneka zisebenzise imemori encinci kunye nezixhobo zokubala. Ukuhlanganiswa kwamaqonga asekelweyo axhaswayo kwenziwa kusetyenziswa i-LLVM, kwaye iilayibrari zomsebenzi zibolekwe kwi-core Go toolchain. Ikhowudi isasazwa phantsi kwelayisensi ye-BSD.

Inkqubo ehlanganisiweyo ingasebenza ngqo kwii-microcontrollers, ivumela ukusetyenziswa kwecandelo elincinci lolwimi lweGo ekubhaleni izikripthi ezenzekelayo. Iimodeli ze-microcontroller ezingaphezulu kwe-100 ziyaxhaswa, kuquka iibhodi ezahlukeneyo ezivela kwi-Adafruit, Arduino, BBC micro, ESP32, M5Stack, ST Micro, Digispark, Raspberry Pi Pico, Nordic Semiconductor, SiFive HiFive1, STM32, Makerdiary, kunye nePhytec. Ii-drivers ezikhethekileyo zibonelelwa ngokusebenzisana nezinzwa kunye nezixhobo zangaphandle eziqhagamshelweyo, kunye neendawo ezixhasayo ezifana ne-I2C, GPIO, kunye ne-SPI.

Ngokungafaniyo ne-emgo compiler efanayo, engakhange ihlaziywe kangangeminyaka emine, i-tinygo igcina imodeli yokulawula imemori yokuqala ye-Go eqokelelweyo yenkunkuma, kwaye endaweni yokuyihlanganisa ibe yi-C representation, isebenzisa i-LLVM ukuvelisa ngqo ikhowudi yomatshini. Iinkqubo zingasebenzisa ikhowudi ye-Go ekhoyo njengoko injalo, kunye neepakeji ezininzi ezisemgangathweni. Ukongeza ekuveliseni ikhowudi yomatshini, i-tinygo ixhasa ukuveliswa kwe-WebAssembly bytecode, evumela ukudalwa kwezicelo ze-WebAssembly ezizimeleyo kusetyenziswa i-WASI (WebAssembly System Interface).

Kwinguqulelo entsha:

  • Kuye kwenziwa uhlengahlengiso lokuqokelela inkunkuma, nto leyo ekhokelele ekunyusweni kokusebenza ukuya kuthi ga kwi-10%.
  • Inkxaso ye-LLVM 20 toolchain iqalisiwe.
  • Inkxaso eyongezelelweyo yeqonga le-ESP32-S3, kunye neebhodi zeXiao ESP32-S3, iGopher ARCADE, kunye nePico2-Ice.
  • Kongezwe iflegi ethi go-compatibility kunye ne-TINYGO_GOCOMPATIBILITY environment variable ukuze kukhutshazwe ukujonga ukuhambelana ngenguqulelo yolwimi lweGo ebhengeziweyo.
  • Kwiinguqu kunye nemisebenzi yehlabathi, i-pragma "//go:linkname" iyasebenza ukongeza kwi-"//go:extern".
  • Umqokeleli ngoku uxhasa iiparameter zophawu lwemitya njengezokufundwayo kuphela.
  • Ukuze kubonwe imijikelo eneefowuni ezirhoxisiweyo (umqhubi we-defer), umqokeleli usebenzisa i-algorithm yokukhangela yecandelo likaTarjan edityaniswe ngokuqinileyo.

umthombo: opennet.ru

Thenga ukusingathwa okuthembekileyo kwiindawo ezinokhuseleko lweDDoS, iiseva zeVPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekileyo ngokhuseleko lwe-DDoS, iiseva zeVPS VDS | ProHoster