ืงืจื™ืกื˜ืึทืœ 0.34.0 ื‘ืืคืจื™ื™ื˜

ื ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹ืงืจื™ืกื˜ืึทืœ ืื™ื– ื‘ืืคืจื™ื™ื˜, ืึท ืงืึทืžืคึผื™ื™ืœื“ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš ืžื™ื˜ ืจื•ื‘ื™ ืกื™ื ื˜ืึทืงืก, ื“ื™ ื”ื•ื™ืคึผื˜ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืคื•ืŸ ื•ื•ืึธืก ื–ืขื ืขืŸ ืจื•ื ื˜ื™ืžืข ืžื™ื˜ ืึท "ื’ืขื‘ื•ื™ื˜-ืื™ืŸ" ื’ืขืฉืขืขื ื™ืฉ ืฉืœื™ื™ืฃ, ืื™ืŸ ื•ื•ืึธืก ืึทืœืข ื™ / ืึธ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ื–ืขื ืขืŸ ื™ื™ืกื™ื ื’ืงืจืึทื ืึทืก, ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืžื•ืœื˜ื™ื˜ื”ืจืขืึทื“ื™ื ื’ (ื•ื•ื™ ืœืึทื ื’). ื•ื•ื™ ืขืก ืื™ื– ืขื ื™ื™ื‘ืึทืœื“ ื“ื•ืจืš ืึท ืคืึธืŸ ื‘ืขืฉืึทืก ื–ืึทืžืœื•ื ื’) ืื•ืŸ ื’ืึธืจ ืคึผืฉื•ื˜ ืื•ืŸ ื‘ืึทืงื•ื•ืขื ืึธืคึผืขืจืึทืฆื™ืข ืžื™ื˜ ืœื™ื™ื‘ืจืขืจื™ื– ืื™ืŸ ืกื™.

ืกื˜ืึทืจื˜ื™ื ื’ ืžื™ื˜ ื•ื•ืขืจืกื™ืข 0.34.0, ื“ื™ ืฉืคึผืจืึทืš ืึทืคื™ืฉืึทืœื™ ื”ื™ื™ื‘ื˜ ืฆื• ืžืึทืš ืฆื• ื–ื™ื™ืŸ ืขืจืฉื˜ืขืจ ืคืึทืงื˜ื™ืฉ ืžืขืœื“ื•ื ื’ (ื“"ื” ื•ื•ืขืจืกื™ืข 1.0).

ื“ื™ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹ืงืจื™ืกื˜ืึทืœ ื›ื•ืœืœ ื“ื™ ืคืืœื’ืขื ื“ืข ืขื ื“ืขืจื•ื ื’ืขืŸ ืื•ืŸ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืื™ืŸ ืกื“ืจ ืคื•ืŸ ื•ื•ื™ื›ื˜ื™ืงื™ื™ื˜:

  • ื ื ื™ื™ึทืข ืœืึธื’ื™ื ื’ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืื™ื– ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฆื• ื“ื™ API ืงืœืึธืฅ, ื•ื•ืึธืก, ื ื™ื˜ ืขื ืœืขืš ื“ื™ ืึทืœื˜ ืื™ื™ื ืขืจ, ืงืขื ืขืŸ ืฉื™ืงืŸ ืึทืจื˜ื™ืงืœืขืŸ ืฆื• ืคืึทืจืฉื™ื“ืขื ืข ื‘ืึทืงืขื ื“ื– ืื•ืŸ ืคื™ืœื˜ืขืจ ื“ื™ ืึทืจื˜ื™ืงืœืขืŸ ื“ื™ืคืขืจืขื ื˜ืœื™ ื“ื™ืคึผืขื ื“ื™ื ื’ ืื•ื™ืฃ ื“ื™ "ืžืงื•ืจ".

  • ื™ืกื•ื“ื•ืช ืคื•ืŸ ื“ืขืจ ื•ื•ืขืœื˜ ืคื•ืŸ C ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’, ืขืจืจื ืึธ ะธ WinError, ื’ืขื•ื•ื™ื™ื ื˜ ืคึฟืึทืจ I/O ืคึผืจื™ืžื™ื˜ื™ื•ื•ื–, ื•ื•ืขืจืŸ ืึท ื–ืึทืš ืคื•ืŸ ื“ื™ ืคืึทืจื’ืึทื ื’ืขื ื”ื™ื™ื˜ ื“ืึทื ืง ืฆื• ื“ื™ ื•ื™ืกื ืขื ื›ื™ื™ืขืจืึทืจืงื™ IO :: ื˜ืขื•ืช (ืึธื‘ืขืจ, ืงื™ื™ืŸ ืื™ื™ื ืขืจ ืื™ื– ืคึผืจืึธื•ื›ื™ื‘ืึทื˜ื™ื ื’ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืขืจืจื ืึธ ื ืึธืš).

  • ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ ืึธื˜ืึทืžืึทื˜ื™ืง ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ ืคื•ืŸ ืึทื ื“ืขืจืฉ ื ื•ืœ ืคื•ืŸ ื“ืขืจ ืึธืคึผืขืจืึทื˜ืึธืจ ืคืึทืœ / ื•ื•ืขืŸ / ืึทื ื“ืขืจืฉ. ื“ืึธืก ืื™ื– ื’ืขื˜ืืŸ ืื™ืŸ ืกื“ืจ ืฆื• ืคืึทืจืžื™ื™ึทื“ืŸ ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจ ืคื•ืŸ ืึทืงืกืึทื“ืขื ืึทืœื™ ืกืงื™ืคึผื™ื ื’ ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืฆื•ื•ื™ื™ื’ืŸ. ื•ื•ืขืŸ ื•ื•ืขืŸ ืจื™ื›ื˜ืŸ ืื•ื™ืฃ ื“ื™ื˜ืขืจืžืึทื ื™ืกื˜ื™ืง ืงืึทืกืขืก ื•ื•ื™ ืขื ื•ืžืก ืื•ืŸ ืคืึธืจืŸ ื“ื•ืจืš ื˜ื™ื™ืคึผืก ืคื•ืŸ ื™ื•ื ื™ืึทืŸ. ืึทื– ืื™ื–, ืคืฉื•ื˜ ืฉื˜ืขืœืŸ, ื“ืขื ืงืึธื“ ื•ื•ืขื˜ ื ื™ื˜ ืžืขืจ ืึทืจื‘ืขื˜ ืึธืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืื™ื™ื ืขืจ ืžืขืจ ื•ื•ืขืŸ (ื•ื•ืขืŸ ื˜ืฉืึทืจ) ืึธื“ืขืจ ื˜ืึทืกืงืก ืึทื ื“ืขืจืฉ- ืฆื•ื•ื™ื™ื’ืŸ:

ืึท = 1 || 'x' || "ืคื•"
ืคืึทืœ ืึท
ื•ื•ืขืŸ Int32
#...
ื•ื•ืขืŸ ืฉื˜ืจื™ืงืœ
#...
ืขืง

  • ืงืึทืžืคึผื™ื™ืœืขืจ ืึธืคึผืฆื™ืข disable_overflow ื ื™ื˜ ืžืขืจ ื‘ื ื™ืžืฆื. ืคึฟืึทืจ ืึธื•ื•ื•ืขืจืคืœืึธื• ืึทืคึผืขืจื™ื™ืฉืึทื ื–, ื ื•ืฆืŸ ื“ื™ &+, &-, &* ืžืขื˜ื”ืึธื“ืก.

  • ืžืขื ื’ืข # ืคึผืœืึธืžื‘ื™ืจืŸ ืื™ืฆื˜ ืคืœื™ืขืŸ ืฉื ืขืœืขืจ ื•ื•ื™ ืึท ืงื•ื™ืœ, ื“ืึทื ืง ืฆื• ืคืึทืจื‘ื™ื™ึทื˜ืŸ ื“ื™ ื ืึทืจื™ืฉ ืฉืœื™ื™ืฃ ืžื™ื˜ ืื™ื™ืŸ ืคึผืฉื•ื˜ ืžืขืžืกืขื˜;

  • ืคืึทืจื•ื•ืึทืœื˜ืขืจ ืคื•ืŸ ืฉืึทืจื“ื– (ืคึผืึทืงืึทื“ื–ืฉืึทื–), ื’ืขืจื•ืคืŸ, ืคึผืึทืจืึทื“ืึธืงืกื™ืงืึทืœืœื™, shards, ืื™ืฆื˜ ื ื™ืฆื˜ ื“ื™ ืคืึทืกื˜ืขืจ ืื•ืŸ ืžืขืจ ืขืคืขืงื˜ื™ื•ื• ืžืึธืœื™ื ื™ืœืœืึธ ื“ืขืคึผืขื ื“ืขื ืกื™ ืฆื•ืคึฟืจื™ื“ื ืงื™ื™ื˜ ืึทืœื’ืขืจื™ื“ืึทื ื’ืขืคึฟื•ื ืขืŸ ืื™ืŸ ืงืึธืงืึธืึทืคึผืึธื“ืก (ืกื•ื•ื™ืคื˜) ืื•ืŸ ื‘ื™ืœื“ืขืจ (ืจื•ื‘ื™).

  • ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืŸ LLVM 10, ื•ื•ืึธืก ืื™ืŸ ื˜ืขืึธืจื™ืข ื•ื•ืขื˜ ื’ืขื‘ืŸ ืื•ื ื“ื– ืขื˜ืœืขื›ืข ืคืึทืจื’ืจืขืกืขืจืŸ ืื™ืŸ ืคึผืจืึธื“ื•ืงื˜ื™ื•ื•ื™ื˜ื™, ืคืขืกื˜ืงื™ื™ึทื˜, ืืื–"ื• ื•.

... ืื•ืŸ ืคื™ืœืข ืื ื“ืขืจืข, ืื™ืŸ ืžื™ื™ืŸ ืกืึทื‘ื“ื–ืฉืขืงื˜ื™ื•ื• ืžื™ื™ื ื•ื ื’, ื•ื•ื™ื™ื ื™ืงืขืจ ื‘ืึทื˜ื™ื™ึทื˜ื™ืง ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ.

ืื™ืš ื•ื•ืึธืœื˜ ื•ื•ื™ ืฆื• ื˜ืึธืŸ ืึทื– ืงืจื™ืกื˜ืึทืœ ืื™ื– ืึท ืฉืคึผืจืึทืš ื’ืขื‘ื•ื™ื˜ ืื•ื™ืฃ LLVM, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืฉืจื™ื™ึทื‘ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืžืืœ ืคืึทืกื˜ืขืจ, ืกื™ืžืคึผืœืขืจ ืื•ืŸ ืžืขืจ ืงืึทื ืกื™ื™ืกืœื™ ื•ื•ื™ ืื•ื™ืฃ ื–ื™ื™ืŸ ื™ื ื˜ืขืจืคึผืจืึทื˜ืึทื“ "ื‘ืจื™ื“ืขืจ", ืื•ืŸ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜ ื‘ืึทืงื•ืžืขืŸ ืึท ื’ืึทื ืฅ ืฉื ืขืœ ื‘ื™ื™ื ืขืจื™. ืงืึทืžืคึผืขืจื“ ืžื™ื˜ Golang, ืขืก ืฉื˜ื™ื™ื˜ ืื•ื™ืก ืจืขื›ื˜ ืฆื• ื–ื™ื™ืŸ ืœืขื’ืึทืžืจืข ืคื•ืœ-ืคืœืขื“ื–ืฉื“ OOP, ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื–ืฉืึทื ืขืจื™ืงืก ืื•ืŸ ืึท ื–ื™ื™ืขืจ ืคึผืฉื•ื˜ ืื•ืŸ ืคืึทืจืฉื˜ื™ื™ื™ืง ืกื™ื ื˜ืึทืงืก. ื–ื™ื™ืŸ ืฆื™ืœ ืื™ื– ืœืึทืจื’ืขืœื™ ืขื ืœืขืš ืฆื• ื ื™ื, ืึธื‘ืขืจ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜ ืขืก ืื™ื– ืงืœืืจ ืคืึธื•ืงื™ืกื˜ ืื•ื™ืฃ ืคึผืจืึทืงื˜ื™ืฉ ื ื•ืฆืŸ "ื“ืึธ ืื•ืŸ ืื™ืฆื˜", ื“ืึทื ืง ืฆื• ื•ื•ืึธืก ืขืก ื”ืื˜ ืื™ืŸ ื–ื™ื™ืŸ ืึทืคึผื™ ืึทืจืกืขื ืึทืœ ืคื™ืœืข ื’ืขื–ื•ื ื˜-ื“ืึทืงื™ื•ืžืขื ื˜ืึทื“, ื‘ืึทืงื•ื•ืขื ืื•ืŸ ื”ื•ื™ืš-ืงื•ื•ืึทืœื™ื˜ืขื˜ ืžื›ืฉื™ืจื™ื, ื’ืขืฉื˜ื™ืฆื˜ ื“ื•ืจืš ื“ื™ ืฉืคึผืจืึทืš ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืื•ืŸ ื“ืขืจื™ื‘ืขืจ ื–ื™ื™ืขืจ ืกื˜ืึทื‘ื™ืœ.

ืžืงื•ืจ: linux.org.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’