рдирд┐рдо 1.4.0 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рд╡рд┐рдореЛрдЪрди

рдирд┐рдо рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдиреЗ рдЗрд╕ рд╕рд┐рддрдВрдмрд░ рдореЗрдВ рдЕрдкрдиреА рдПрдХ рд╕рд╛рд▓ рдХреА рд╕рд╛рд▓рдЧрд┐рд░рд╣ рдордирд╛рдИред рдкрд╣рд▓рд╛ рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг. рднрд╛рд╖рд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рдкрд╛рдпрдерди рдХреЗ рд╕рдорд╛рди рд╣реИ, рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд▓рдЧрднрдЧ C++ рдЬреИрд╕рд╛ рд╣реИред рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╢реНрди рднрд╛рд╖рд╛ рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ (рдпреЛрдЧрджрд╛рди рдХреЗ рдХреНрд░рдо рдореЗрдВ) рдЙрдзрд╛рд░ рд▓реЗрддреА рд╣реИ: рдореЙрдбреНрдпреВрд▓рд╛ 3, рдбреЗрд▓реНрдлрд╝реА, рдПрдбрд╛, рд╕реА ++, рдкрд╛рдпрдерди, рд▓рд┐рд╕реНрдк, рдУрдмреЗрд░реЙрдиред


C/C++/рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА/рдЬреЗрдПрд╕ рдореЗрдВ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рд░рдг рд╣рд░ рдЬрдЧрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдореИрдХреНрд░реЛ, рдЙрдлрд╝, рдЬреЗрдирд░рд┐рдХ, рдЕрдкрд╡рд╛рдж, рд╣реЙрдЯ рдХреЛрдб рд╕реНрд╡реИрдк рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫред рд▓рд╛рдЗрд╕реЗрдВрд╕: рдПрдордЖрдИрдЯреА.

рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди:

  • рдПрдХ рдирдпрд╛ рдУрдЖрд░рд╕реА рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╛рд╣рдХ рд╣реИ рдЬреЛ рдПрдЖрд░рд╕реА рд╕реЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рд╕реЗ рдкрд░рд┐рдкрддреНрд░ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред -gc:orc рд╡рд┐рдХрд▓реНрдк рджреНрд╡рд╛рд░рд╛ рд╕рдХреНрд╖рдоред рдПрдЖрд░рд╕реА/рдУрдЖрд░рд╕реА рдЕрдВрддрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд▓реЗрдЦ рд╣реИ.

  • рд╕рдЦреНрдд рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЛрдб рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓рддрд╛ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдВрдЪ рдХреЛ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИред рдкреНрд░рд╛рдЧреНрдорд╛ {.experimental: "strictFuncs"ред} рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╛ --experimental:strictFuncs рдХреБрдВрдЬреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдХреНрд░рд┐рдп рдХрд┐рдпрд╛ рдЧрдпрд╛ред

  • рдЕрдм рд╕реЗ рдХреАрд╡рд░реНрдб рдХреЛ рдПрдХ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

  • рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ .рдиреЛрд▓рд┐рдпрд╛рд╕ рдкреНрд░рд╛рдЧреНрдорд╛ред рдпрд╣ рдХреАрд╡рд░реНрдб рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реА рджрдХреНрд╖рддрд╛ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП C рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХреАрд╡рд░реНрдб рдкрд░ рдореИрдк рдХрд░рддрд╛ рд╣реИред

  • рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдЕрдм --warningAsError[X]:on|off рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

  • рдирдпрд╛ рдЖрджреЗрд╢: nim r main.nim [args...], рдЬреЛ main.nim рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рдЪрд▓рд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ --usenimcache рд╢рд╛рдорд┐рд▓ рд╣реИ рддрд╛рдХрд┐ рдкрд░рд┐рдгрд╛рдо nim c рдХреЗ рд╕рдорд╛рди рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ $nimcache/main$exeExt рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ - рдЬрдм рд╕реНрд░реЛрдд рдирд╣реАрдВ рдмрджрд▓реЗ рд╣реИрдВ рддреЛ рдкреБрдирд░реНрд╕рдВрдХрд▓рди рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдЙрджрд╛рд╣рд░рдг:

nim r compiler/nim.nim --help # рдкрд╣рд▓реА рдмрд╛рд░ рд╕рдВрдХрд▓рд┐рдд
рдЗрдХреЛ 'рдЖрдпрд╛рдд рдУрдПрд╕; рдЗрдХреЛ getCurrentCompilerExe()' | рдирд┐рдо рдЖрд░ - # рдпрд╣ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
nim r compiler/nim.nim --fullhelp # рдкреБрдирд░реНрд╕рдВрдХрд▓рди рдХреЗ рдмрд┐рдирд╛
nim r -nimcache:/tmp рдореБрдЦреНрдп # рдмрд╛рдЗрдирд░реА /tmp/main рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛

  • рдПрдХ рдирдпрд╛ рд╕рдВрдХреЗрдд рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ - рд╕рдВрдХреЗрдд:msgOrigin, рдЬреЛ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рдХрдВрдкрд╛рдЗрд▓рд░ рдиреЗ рддреНрд░реБрдЯрд┐/рдЪреЗрддрд╛рд╡рдиреА рд╕рдВрджреЗрд╢ рдХрд╣рд╛рдВ рдЙрддреНрдкрдиреНрди рдХрд┐рдПред рдЗрд╕рд╕реЗ рддрдм рдорджрдж рдорд┐рд▓рддреА рд╣реИ рдЬрдм рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рдХрд┐ рд╕рдВрджреЗрд╢ рдХрд╣рд╛рдБ рд╕реЗ рдЖрдпрд╛ рд╣реИред

  • рдмреИрдХрдПрдВрдб рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдзреНрд╡рдЬ тАФbackend:js|c|cpp|objc (рдпрд╛ -b:js, рдЖрджрд┐) рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред

  • nimcache рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдореЗрдВ --usenimcache рдзреНрд╡рдЬ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред

  • рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╣рдЯрд╛рдИ рдЧрдИрдВ: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • рдирд┐рдореНрд╕рдЧреЗрд╕реНрдЯ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЕрдм рди рдХреЗрд╡рд▓ рдкреВрд░реНрд╡-рдШреЛрд╖рдгрд╛, рдмрд▓реНрдХрд┐ рдбреАрдлрд╝ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реНрдерд╛рди рднреА рджрд┐рдЦрд╛рддреА рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдорд╛рдирдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдХрдИ рдмрджрд▓рд╛рд╡ рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВ рдФрд░ рдХрдИ рдмрдЧ рдлрд┐рдХреНрд╕ рдХрд┐рдП рдЧрдП рд╣реИрдВред

рд╕реНрд░реЛрдд: linux.org.ru