Tinygo 0.7.0 āĻāϰ āϰāĻŋāϞāĻŋāϜ, LLVM-āĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• Go āĻ•āĻŽā§āĻĒāĻžāχāϞāĻžāϰ

āĻĒāĻžāĻ“āϝāĻŧāĻž āϝāĻžāϝāĻŧ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ āĻĒā§āϰāĻ•āĻžāĻļ āϟāĻŋāύāĻŋāĻ—ā§‹ ā§Ļ.ā§­.ā§Ļ, āϝ⧇āϟāĻŋ āĻāĻŽāύ āĻ…āĻžā§āϚāϞāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ Go āĻ­āĻžāώāĻž āϏāĻ‚āĻ•āϞāĻ• āϤ⧈āϰāĻŋ āĻ•āϰāϛ⧇ āϝ⧇āϗ⧁āϞāĻŋāϰ āĻĢāϞ⧇ āϕ⧋āĻĄā§‡āϰ āĻ•āĻŽā§āĻĒā§āϝāĻžāĻ•ā§āϟ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύāĻž āĻāĻŦāĻ‚ āĻ•āĻŽ āϏāĻ‚āĻ¸ā§āĻĨāĻžāύ āĻ–āϰāϚ, āϝ⧇āĻŽāύ āĻŽāĻžāχāĻ•ā§āϰ⧋āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āĻ•āĻŽāĻĒā§āϝāĻžāĻ•ā§āϟ āĻāĻ•āĻ•-āĻĒā§āϰāϏ⧇āϏāϰ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύāĨ¤ āϕ⧋āĻĄ āĻĻā§āĻŦāĻžāϰāĻž āĻŦāĻŋāϤāϰāĻŖ BSD āϞāĻžāχāϏ⧇āĻ¨ā§āϏ⧇āϰ āĻ…āϧ⧀āύ⧇āĨ¤

āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϟāĻžāĻ°ā§āϗ⧇āϟ āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽā§‡āϰ āϜāĻ¨ā§āϝ āϏāĻ‚āĻ•āϞāύ LLVM āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ, āĻāĻŦāĻ‚ Go āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ⧇āϰ āĻĒā§āϰāϧāĻžāύ āϟ⧁āϞāĻ•āĻŋāĻŸā§‡ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϗ⧁āϞāĻŋ āĻ­āĻžāώāĻžāϕ⧇ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āϏāĻ‚āĻ•āϞāĻŋāϤ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāϟāĻŋ āϏāϰāĻžāϏāϰāĻŋ āĻŽāĻžāχāĻ•ā§āϰ⧋āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇ āϚāĻžāϞāĻžāύ⧋ āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇, āϝāĻž āĻ…āĻŸā§‹āĻŽā§‡āĻļāύ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āϞ⧇āĻ–āĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻ­āĻžāώāĻž āĻšāĻŋāϏāĻžāĻŦ⧇ Go āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧāĨ¤

āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āĻĒā§āϰ⧇āϰāĻŖāĻž āĻ›āĻŋāϞ āĻ•āĻŽāĻĒā§āϝāĻžāĻ•ā§āϟ āĻĄāĻŋāĻ­āĻžāχāϏāϗ⧁āϞāĻŋāϤ⧇ āĻĒāϰāĻŋāϚāĻŋāϤ āĻ—ā§‹ āĻ­āĻžāώāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āχāĻšā§āĻ›āĻž - āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāϰ⧀āϰāĻž āϝ⧁āĻ•ā§āϤāĻŋ āĻĻāĻŋāϝāĻŧ⧇āĻ›āĻŋāϞ⧇āύ āϝ⧇ āϝāĻĻāĻŋ āĻŽāĻžāχāĻ•ā§āϰ⧋āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻĒāĻžāχāĻĨāύ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖ āĻĨāĻžāϕ⧇ āϤāĻŦ⧇ āϕ⧇āύ āĻ—ā§‹ āĻ­āĻžāώāĻžāϰ āϜāĻ¨ā§āϝ āĻ…āύ⧁āϰ⧂āĻĒ āĻāĻ•āϟāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāĻŦ⧇āύ āύāĻžāĨ¤ āϝāĻžāĻ“āϝāĻŧāĻž āύāĻŋāĻ°ā§āĻŦāĻžāϚāĻŋāϤ Rust āĻāϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ āĻ•āĻžāϰāĻŖ āĻāϟāĻŋ āĻļ⧇āĻ–āĻž āϏāĻšāϜ, coroutine-āĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āϏāĻŽāĻžāĻ¨ā§āϤāϰāĻžāϞāĻ•āϰāϪ⧇āϰ āϜāĻ¨ā§āϝ āĻĨā§āϰ⧇āĻĄ-āĻ¸ā§āĻŦāĻžāϧ⧀āύ āϏāĻŽāĻ°ā§āĻĨāύ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻ¸ā§āϤ⧃āϤ āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻ…āĻĢāĻžāϰ āĻ•āϰ⧇ ("āĻŦā§āϝāĻžāϟāĻžāϰāĻŋ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ")āĨ¤

āĻāϰ āĻŦāĻ°ā§āϤāĻŽāĻžāύ āφāĻ•āĻžāϰ⧇, Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary āĻāĻŦāĻ‚ Phytec āĻāϰ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻŦā§‹āĻ°ā§āĻĄ āϏāĻš 15āϟāĻŋ āĻŽāĻžāχāĻ•ā§āϰ⧋āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻŽāĻĄā§‡āϞ āϏāĻŽāĻ°ā§āĻĨāĻŋāϤāĨ¤ āĻ“āϝāĻŧ⧇āĻŦ āĻ…ā§āϝāĻžāϏ⧇āĻŽā§āĻŦāϞāĻŋ āĻĢāĻ°ā§āĻŽā§āϝāĻžāĻŸā§‡ āĻāĻŦāĻ‚ āϞāĻŋāύāĻžāĻ•ā§āϏ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•ā§āϏāĻŋāĻ•āĻŋāωāĻŸā§‡āĻŦāϞ āĻĢāĻžāχāϞ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇ āϚāĻžāϞāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāϗ⧁āϞāĻŋāĻ“ āĻ•āĻŽā§āĻĒāĻžāχāϞ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ ESP8266/ESP32 āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇ āĻāĻ–āύ⧋ āύāĻž, āĻ•āĻŋāĻ¨ā§āϤ⧁ LLVM-āĻ Xtensa āϚāĻŋāĻĒ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ°ā§āĻĨāύ āϝ⧋āĻ— āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻĒ⧃āĻĨāĻ• āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāĻšā§āϛ⧇, āϝāĻž āĻāĻ–āύāĻ“ āĻ…āĻ¸ā§āĻĨāĻŋāϰ āĻšāĻŋāϏāĻžāĻŦ⧇ āϚāĻŋāĻšā§āύāĻŋāϤ āĻāĻŦāĻ‚ TinyGo-āĻāϰ āϏāĻžāĻĨ⧇ āĻāϕ⧀āĻ•āϰāϪ⧇āϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ āύāϝāĻŧ⧎

āĻŽā§‚āϞ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ āϞāĻ•ā§āĻˇā§āϝ:

  • āϖ⧁āĻŦ āĻ•āĻŽāĻĒā§āϝāĻžāĻ•ā§āϟ āĻāĻ•ā§āϏāĻŋāĻ•āĻŋāωāĻŸā§‡āĻŦāϞ āĻĢāĻžāχāϞ āϤ⧈āϰāĻŋ āĻ•āϰāĻž;
  • āĻŽāĻžāχāĻ•ā§āϰ⧋āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻŦā§‹āĻ°ā§āĻĄā§‡āϰ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϏāĻžāϧāĻžāϰāĻŖ āĻŽāĻĄā§‡āϞāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ°ā§āĻĨāύ;
  • āĻ“āϝāĻŧ⧇āĻŦ⧇āϰ āϜāĻ¨ā§āϝ āφāĻŦ⧇āĻĻāύ⧇āϰ āϏāĻŽā§āĻ­āĻžāĻŦāύāĻž;
  • C-āϤ⧇ āĻĢāĻžāĻ‚āĻļāύ āĻ•āϞ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ¨ā§āϝ⧂āύāϤāĻŽ āĻ“āĻ­āĻžāϰāĻšā§‡āĻĄ āϏāĻš CGo āϏāĻŽāĻ°ā§āĻĨāύ;
  • āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻĒā§āϝāĻžāϕ⧇āϜāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ°ā§āĻĨāύ āĻāĻŦāĻ‚ āĻāϟāĻŋ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āύāĻž āĻ•āϰ⧇āχ āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āϕ⧋āĻĄ āĻ•āĻŽā§āĻĒāĻžāχāϞ āĻ•āϰāĻžāϰ āĻ•ā§āώāĻŽāϤāĻžāĨ¤

    āĻŽāĻžāĻ˛ā§āϟāĻŋ-āϕ⧋āϰ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ°ā§āĻĨāύ āĻĒā§āϰāϧāĻžāύ āϞāĻ•ā§āĻˇā§āϝāϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āύāϝāĻŧ,
    āĻŦāĻŋāĻĒ⧁āϞ āϏāĻ‚āĻ–ā§āϝāĻ• āĻ•āϰāωāϟāĻŋāύ⧇āϰ āĻĻāĻ•ā§āώ āϞāĻžā§āϚ (āĻ•āϰ⧋āϟāĻŋāύāϗ⧁āϞāĻŋ āύāĻŋāĻœā§‡āχ āϚāĻžāϞ⧁ āĻ•āϰāĻž āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖāϰ⧂āĻĒ⧇ āϏāĻŽāĻ°ā§āĻĨāĻŋāϤ), āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āĻ•āĻŽā§āĻĒāĻžāχāϞāĻžāϰ āϜāĻŋāϏāĻŋ-āĻāϰ āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āĻ¸ā§āϤāϰ⧇āϰ āĻ…āĻ°ā§āϜāύ (āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāĻœā§‡āĻļāĻžāύ āĻāϞāĻāϞāĻ­āĻŋāĻāĻŽ-āĻ āϛ⧇āĻĄāĻŧ⧇ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϝāĻŧ⧇āϛ⧇ āĻāĻŦāĻ‚ āĻ•āĻŋāϛ⧁ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇ āϟāĻŋāύāĻŋāĻ—ā§‹ āϜāĻŋāϏāĻŋāϰ āĻšā§‡āϝāĻŧ⧇ āĻĻā§āϰ⧁āϤ āĻšāϤ⧇ āĻĒāĻžāϰ⧇) āĻāĻŦāĻ‚ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āϏāĻ™ā§āĻ—āϤāĻŋ āϏāĻŽāĻ¸ā§āϤ Go āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϏāĻšāĨ¤

    āĻāĻ•āϟāĻŋ āĻ…āύ⧁āϰ⧂āĻĒ āĻ•āĻŽā§āĻĒāĻžāχāϞāĻžāϰ āĻĨ⧇āϕ⧇ āĻĒā§āϰāϧāĻžāύ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ emgo āφāĻŦāĻ°ā§āϜāύāĻž āϏāĻ‚āĻ—ā§āϰāĻš āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ Go-āĻāϰ āĻŽā§‚āϞ āĻŽā§‡āĻŽāϰāĻŋ āĻŽā§āϝāĻžāύ⧇āϜāĻŽā§‡āĻ¨ā§āϟ āĻŽāĻĄā§‡āϞāϟāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻžāϰ āĻāĻ•āϟāĻŋ āĻĒā§āϰāϝāĻŧāĻžāϏ āĻāĻŦāĻ‚ C āĻĒā§āϰāϤāĻŋāύāĻŋāϧāĻŋāĻ¤ā§āĻŦ⧇ āĻ•āĻŽā§āĻĒāĻžāχāϞ āĻ•āϰāĻžāϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ āĻĻāĻ•ā§āώ āϕ⧋āĻĄ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ LLVM āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāĨ¤ Tinygo āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āϰāĻžāύāϟāĻžāχāĻŽ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāĻ“ āĻ…āĻĢāĻžāϰ āĻ•āϰ⧇ āϝāĻž āĻāĻ•āϟāĻŋ āĻļāĻŋāĻĄāĻŋāωāϞāĻžāϰ, āĻŽā§‡āĻŽāϰāĻŋ āĻŦāϰāĻžāĻĻā§āĻĻāĻ•āϰāĻŖ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻŦāĻ‚ āĻ•āĻŽāĻĒā§āϝāĻžāĻ•ā§āϟ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āϜāĻ¨ā§āϝ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāϜ āĻ•āϰāĻž āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰ⧇āĨ¤ āĻ•āĻŋāϛ⧁ āĻĒā§āϝāĻžāϕ⧇āϜ, āϝ⧇āĻŽāύ āϏāĻŋāĻ™ā§āĻ• āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋāĻĢāϞāύ, āύāϤ⧁āύ āϰāĻžāύāϟāĻžāχāĻŽā§‡āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āĻĒ⧁āύāϰāĻžāϝāĻŧ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤

    āϰāĻŋāϞāĻŋāϜ 0.7-āĻāϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āϰāϝāĻŧ⧇āϛ⧇ "āϟāĻŋāύāĻŋāĻ—ā§‹ āĻŸā§‡āĻ¸ā§āϟ" āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āϰ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ, āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϟāĻžāĻ°ā§āϗ⧇āϟ āĻŦā§‹āĻ°ā§āĻĄā§‡āϰ āϜāĻ¨ā§āϝ āφāĻŦāĻ°ā§āϜāύāĻž āϏāĻ‚āĻ—ā§āϰāĻšā§‡āϰ āϏāĻšāĻžāϝāĻŧāϤāĻžāϰ āĻŦāĻŋāϧāĻžāύ (āĻāφāϰāĻāĻŽ āĻ•āĻ°ā§āĻŸā§‡āĻ•ā§āϏ-āĻāĻŽ-āĻāϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇) āĻāĻŦāĻ‚ āĻ“āϝāĻŧ⧇āĻŦ āĻ…ā§āϝāĻžāϏ⧇āĻŽā§āĻŦāϞāĻŋ, RISC-āĻāϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ HiFive1 āϰ⧇āĻ­ āĻŦāĻŋ āĻŦā§‹āĻ°ā§āĻĄā§‡āϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ°ā§āĻĨāύāĨ¤ āĻ­āĻŋ āφāĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āϚāĻžāϰ āĻāĻŦāĻ‚ āφāϰāĻĄā§āχāύ⧋ āĻ¨ā§āϝāĻžāύ⧋ 33 āĻŦā§‹āĻ°ā§āĻĄ,
    āωāĻ¨ā§āύāϤ āĻ­āĻžāώāĻž āϏāĻŽāĻ°ā§āĻĨāύ (āϗ⧇āϟāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āϟāĻžāĻ°ā§āϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŦāĻŋāϟ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ°ā§āĻĨāύ, āĻŦ⧇āύāĻžāĻŽā§€ āĻ•āĻžāĻ āĻžāĻŽā§‹āϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ°ā§āĻĨāύ)āĨ¤

    āωāĻ¤ā§āϏ: opennet.ru

  • āĻāĻ•āϟāĻŋ āĻŽāĻ¨ā§āϤāĻŦā§āϝ āϜ⧁āĻĄāĻŧ⧁āύ