เจจเจฟเจฎ 1.4.0 เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ

เจจเจฟเจฎ เจธเจฟเจธเจŸเจฎ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจฆเจพ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเจฟเจธ เจจเฉ‡ เจ‡เจธ เจธเจคเฉฐเจฌเจฐ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ€ เจ‡เฉฑเจ• เจธเจพเจฒ เจฆเฉ€ เจตเจฐเฉเจนเฉ‡เจ—เฉฐเจข เจฎเจจเจพเจˆเฅค เจชเจนเจฟเจฒเจพ เจธเจฅเจฟเจฐ เจธเฉฐเจธเจ•เจฐเจฃ. เจธเจฟเฉฐเจŸเฉˆเจ•เจธ เจตเจฟเฉฑเจš เจญเจพเจธเจผเจพ เจชเจพเจˆเจฅเจจ เจตเจฐเจ—เฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจตเจฟเฉฑเจš เจฒเจ—เจญเจ— C++ เจตเจฐเจ—เฉ€ เจนเฉˆเฅค เจ‡เจธเจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจธเจตเจพเจฒ เจญเจพเจธเจผเจพ (เจฏเฉ‹เจ—เจฆเจพเจจ เจฆเฉ‡ เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš) เจคเฉ‹เจ‚ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจ‰เจงเจพเจฐ เจฒเฉˆเจ‚เจฆเฉ€ เจนเฉˆ: เจฎเฉ‹เจกเฉ‚เจฒเจพ 3, เจกเฉ‡เจฒเจซเฉ€, เจเจกเจพ, เจธเฉ€++, เจชเจพเจˆเจฅเจจ, เจฒเจฟเจธเจช, เจ“เจฌเฉ‡เจฐเฉ‹เจจเฅค


C/C++/Objective-C/JS เจตเจฟเฉฑเจš เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจฒเจˆ เจนเจฐ เจฅเจพเจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆ เจฎเฉˆเจ•เจฐเฉ‹, เจ“.เจ“.เจชเฉ€, เจ†เจฎ, เจ…เจชเจตเจพเจฆ, เจ—เจฐเจฎ เจ•เฉ‹เจก เจธเจตเฉˆเจช เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฌเจนเฉเจค เจ•เฉเจเฅค เจฒเจพเจ‡เจธเฉฐเจธ: MIT.

เจธเจญ เจคเฉ‹เจ‚ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚:

  • เจ‡เฉฑเจ• เจจเจตเจพเจ‚ ORC เจ•เฉ‚เฉœเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจตเจพเจฒเจพ เจนเฉˆ เจœเฉ‹ ARC เจคเฉ‹เจ‚ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจชเจฐ เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚ เจธเจฐเจ•เฉ‚เจฒเจฐ เจธเฉฐเจฆเจฐเจญเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจธเฉฐเจญเจพเจฒเจฆเจพ เจนเฉˆเฅค -gc:orc เจตเจฟเจ•เจฒเจช เจฆเฉเจ†เจฐเจพ เจธเจฎเจฐเจฅเจฟเจคเฅค ARC/ORC เจ…เฉฐเจคเจฐเจพเจ‚ เจฌเจพเจฐเฉ‡ เจ‡เฉฑเจ• เจฌเจนเฉเจค เจตเจงเฉ€เจ† เจฒเฉ‡เจ– เจนเฉˆ.

  • เจธเจ–เจค เจซเฉฐเจ•เจธเจผเจจ เจชเจฐเจฟเจญเจพเจธเจผเจพเจตเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจฎเฉ‹เจก เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจ†เจฌเจœเฉˆเจ•เจŸ เจชเจฐเจฟเจตเจฐเจคเจจเจธเจผเฉ€เจฒเจคเจพ เจฒเจˆ เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ เจœเจพเจ‚เจš เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจชเฉเจฐเฉˆเจ—เจฎเจพ {.experimental: "strictFuncs"} เจฆเฉเจ†เจฐเจพ เจœเจพเจ‚ --experimental:strictFuncs เจ•เฉเฉฐเจœเฉ€ เจฐเจพเจนเฉ€เจ‚ เจ•เจฟเจฐเจฟเจ†เจธเจผเฉ€เจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ†เฅค

  • เจ•เฉ€เจตเจฐเจก เจคเฉ‹เจ‚ เจนเฉเจฃ เจ‡เฉฑเจ• เจ†เจชเจฐเฉ‡เจŸเจฐ เจตเจœเฉ‹เจ‚ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

  • .noalias pragma เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ†เฅค เจ‡เจน เจ•เฉเจธเจผเจฒเจคเจพ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจฃ เจฒเจˆ C เจชเฉเจฐเจคเจฟเจฌเฉฐเจงเจฟเจค เจ•เฉ€เจตเจฐเจก เจจเฉ‚เฉฐ เจฎเฉˆเจช เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจ•เฉ€เจตเจฐเจก เจชเฉเจฐเจฆเจพเจจ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค

  • เจ–เจพเจธ เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจนเฉเจฃ --warningAsError[X]:on|off เจฐเจพเจนเฉ€เจ‚ เจ—เจฒเจคเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

  • เจจเจตเฉ€เจ‚ เจ•เจฎเจพเจ‚เจก: nim r main.nim [args...], เจœเฉ‹ main.nim เจจเฉ‚เฉฐ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจšเจฒเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธ เจตเจฟเฉฑเจš --usenimcache เจธเจผเจพเจฎเจฒ เจนเฉˆ เจคเจพเจ‚ เจ•เจฟ เจจเจคเฉ€เจœเจพ $nimcache/main$exeExt เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เฉ‡, เจ‰เจธเฉ‡ เจคเจฐเจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ nim c - เจœเจฆเฉ‹เจ‚ เจธเจฐเฉ‹เจค เจจเจนเฉ€เจ‚ เจฌเจฆเจฒเฉ‡ เจนเจจ เจคเจพเจ‚ เจฐเฉ€เจ•เฉฐเจชเจพเจˆเจฒเฉ‡เจธเจผเจจ เจคเฉ‹เจ‚ เจ›เฉเจŸเจ•เจพเจฐเจพ เจชเจพเจ‰เจฃ เจฒเจˆ. เจ‰เจฆเจพเจนเจฐเจจ:

nim r compiler/nim.nim --help # เจชเจนเจฟเจฒเฉ€ เจตเจพเจฐ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ†
echo 'import os; echo getCurrentCompilerExe()' | nim r - # เจ‡เจน เจตเฉ€ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ
nim r compiler/nim.nim --fullhelp # เจฌเจฟเจจเจพเจ‚ เจฐเฉ€เจ•เฉฐเจชเจพเจˆเจฒเฉ‡เจธเจผเจจ
nim r โ€”nimcache:/tmp เจฎเฉเฉฑเจ– # เจฌเจพเจˆเจจเจฐเฉ€ /tmp/main เจตเจฟเฉฑเจš เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เฉ€เจคเฉ€ เจ—เจˆ

  • เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจธเฉฐเจ•เฉ‡เจค -hint:msgOrigin เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†, เจœเฉ‹ เจฆเจฟเจ–เจพเจเจ—เจพ เจ•เจฟ เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจจเฉ‡ เจ—เจฒเจคเฉ€/เจšเฉ‡เจคเจพเจตเจจเฉ€ เจธเฉเจจเฉ‡เจนเฉ‡ เจ•เจฟเฉฑเจฅเฉ‡ เจฌเจฃเจพเจ เจนเจจเฅค เจ‡เจน เจ‰เจฆเฉ‹เจ‚ เจฎเจฆเจฆ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจ•เจฟ เจธเฉเจจเฉ‡เจนเจพ เจ•เจฟเฉฑเจฅเฉ‹เจ‚ เจ†เจ‡เจ† เจนเฉˆเฅค

  • เจฌเฉˆเจ•เจเจ‚เจก เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฒเจˆ เจซเจฒเฉˆเจ— เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ โ€”เจฌเฉˆเจ•เจเจ‚เจก:js|c|cpp|objc (เจœเจพเจ‚ -b:js, เจ†เจฆเจฟ)เฅค

  • เจจเจฟเจฎเจ•เฉˆเจš เจตเจฟเฉฑเจš เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฌเจพเจˆเจจเจฐเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš --usenimcache เจซเจฒเฉˆเจ— เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ†เฅค

  • เจนเจŸเจพเจˆเจ†เจ‚ เจ—เจˆเจ†เจ‚ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • nimsuggest เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจนเฉเจฃ เจธเจฟเจฐเจซเจผ เจชเฉ‚เจฐเจต-เจ˜เฉ‹เจธเจผเจฃเจพ เจนเฉ€ เจจเจนเฉ€เจ‚, เจธเจ—เฉ‹เจ‚ เจ‡เฉฑเจ• def เจฌเฉ‡เจจเจคเฉ€ เจฒเจˆ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเฉ€ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆเฅค

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจธเจŸเฉˆเจ‚เจกเจฐเจก เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจตเจฟเฉฑเจš เจ•เจˆ เจฌเจฆเจฒเจพเจ… เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ เจ…เจคเฉ‡ เจ•เจˆ เจฌเฉฑเจ— เจซเจฟเจ•เจธ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค

เจธเจฐเฉ‹เจค: linux.org.ru