Emscripten 3.0, C/C++ рд╕реЗ WebAssembly рдХрдВрдкрд╛рдЗрд▓рд░ рдЙрдкрд▓рдмреНрдз рд╣реИ

рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди 3.0 рдХрдВрдкрд╛рдЗрд▓рд░ рдХреА рд░рд┐рд▓реАрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреА рдЧрдИ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рд╕реА/рд╕реА++ рдФрд░ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрд▓рдПрд▓рд╡реАрдПрдо-рдЖрдзрд╛рд░рд┐рдд рдлреНрд░рдВрдЯреЗрдВрдб рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдХреЛрдб рд╡реЗрдмрдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдЬреЛ рдмрд╛рдж рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред рдПрдХ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ, рдФрд░ Node. js рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдпрд╛ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдорд▓реНрдЯреА-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ рдЬреЛ wasm рд░рдирдЯрд╛рдЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрд▓рддреЗ рд╣реИрдВред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб рдПрдордЖрдИрдЯреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрдВрдкрд╛рдЗрд▓рд░ рдПрд▓рдПрд▓рд╡реАрдПрдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдмрд╛рдЗрдирд░реАрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдмрдЕрд╕реЗрдВрдмрд▓реА рдкреАрдврд╝реА рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдПрдХ рдРрд╕рд╛ рдЯреВрд▓ рдмрдирд╛рдирд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╡реЗрдм рдкрд░ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдХреЛрдб рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реЛред рд╕рдВрдХрд▓рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдорд╛рдирдХ C рдФрд░ C++ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ (libc, libcxx), C++ рдПрдХреНрд╕рдЯреЗрдВрд╢рди, pthreads-рдЖрдзрд╛рд░рд┐рдд рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ, POSIX API рдФрд░ рдХрдИ рдорд▓реНрдЯреАрдореАрдбрд┐рдпрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдореЗрдВ рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗрдм рдПрдкреАрдЖрдИ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдЕрд▓рдЧ рд╕реЗ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИрдВред

рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯрди рдХреИрдирд╡рд╛рд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрд╕рдбреАрдПрд▓2 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡реЗрдмрдЬреАрдПрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдУрдкрдирдЬреАрдПрд▓ рдФрд░ рдИрдЬреАрдПрд▓ рдХреЗ рд▓рд┐рдП рднреА рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдЧреЗрдо рдХреЛ рд╡реЗрдмрдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрдпреВрдЯреА рдЯреВрд▓рдХрд┐рдЯ рдХрд╛ рдПрдХ рдкреЛрд░реНрдЯ рд╣реИ рдФрд░ рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЗрдВрдЬрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ) 4 рдФрд░ рдпреВрдирд┐рдЯ рдЧреЗрдо рдЗрдВрдЬрди, рднреМрддрд┐рдХ рдмреБрд▓реЗрдЯ рдЗрдВрдЬрди)ред C/C++ рдореЗрдВ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, Lua, C#, Python, Ruby рдФрд░ Perl рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рджреБрднрд╛рд╖рд┐рдпреЛрдВ рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХреЗ рд▓реЙрдиреНрдЪ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рд╣реИрдВред рдПрд▓рдПрд▓рд╡реАрдПрдо рдореЗрдВ рдЧреИрд░-рдХреНрд▓реИрдВрдЧ рдлреНрд░рдВрдЯреЗрдВрдб рд▓рд╛рдЧреВ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ, рдЬреЛ рд╕реНрд╡рд┐рдлреНрдЯ, рд░рд╕реНрдЯ, рдбреА рдФрд░ рдлреЛрд░рдЯреНрд░рд╛рди рдЬреИрд╕реА рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред

рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯрди 3.0 рдореЗрдВ рдкреНрд░рдореБрдЦ рдкрд░рд┐рд╡рд░реНрддрди:

  • рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдорд╕рд▓ рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕рдВрд╕реНрдХрд░рдг 1.2.2 рдореЗрдВ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рд╕рдВрд╕реНрдХрд░рдг 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдореНрд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди 1.1.15.x рд╢рд╛рдЦрд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред
  • рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рднреАрддрд░ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдкрд╛рд░реНрд╕рдЯреВрд▓реНрд╕.рдЬреЗрдПрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рд░рд┐рдореВрд╡рдкреЙрдЗрдВрдЯрд┐рдВрдЧ, рдкреЙрдЗрдВрдЯрд┐рдВрдЧрд▓реЗрд╡рд▓реНрд╕, рд░рд┐рдореВрд╡рдСрд▓рдкреЙрдЗрдВрдЯрд┐рдВрдЧ, рдЗрдЬрд╝рд╡реЙрдпрдбрдЯрд╛рдЗрдк, рдЗрдЬрд╝рд╕реНрдЯреНрд░рдХреНрдЪрд░рдкреЙрдЗрдВрдЯрд░рдЯрд╛рдЗрдк, рдЗрдЬрд╝рдЕрд░реЗрдЯрд╛рдЗрдк, рдЗрдЬрд╝рд╕реНрдЯреНрд░рдХреНрдЪрд░рдЯрд╛рдЗрдк, рдЗрдЬрд╝рд╡реЗрдХреНрдЯрд░рдЯрд╛рдЗрдк, рдЗрдЬрд╝рд╕реНрдЯреНрд░рдХреНрдЪрд░рд▓рдЯрд╛рдЗрдк рдЧреЗрдЯрд╕реНрдЯреНрд░рдХреНрдЪрд░рд▓рдЯрд╛рдЗрдкрдкрд╛рд░реНрдЯреНрд╕, рдЧреЗрдЯрд╕реНрдЯреНрд░рдХреНрдЪрд░рд▓рдЯрд╛рдЗрдкрдкрд╛рд░реНрдЯрдмрд┐рдЯреНрд╕, рдЗрдЬрд╝рдлрдВрдХреНрд╢рдирдбрд┐рдл, рдЗрдЬрд╝рдкреЛрд╕ рд╕рд┐рдмрд▓реАрдлрдВрдХреНрд╢рдирдЯрд╛рдЗрдк, рдЗрдЬрдлрдВрдХреНрд╢рдирдЯрд╛рдЗрдк, рдЧреЗрдЯрд░рд┐рдЯрд░реНрдирдЯрд╛рдЗрдк, рд╕реНрдкреНрд▓рд┐рдЯрдЯреЛрдХрдирд▓рд┐рд╕реНрдЯ, _IntToHex, IEEEUnHex, Compiletime.isPointerType, Compiletime.isStructType, Compiletime.INT_TYPES, isTypeред
  • Shell.html рдФрд░shell_minimal.html рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ, рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЬреЛ emscripten рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рджреМрд░рд╛рди рд╣реЛрддрд╛ рд╣реИ рдФрд░ stderr рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрддрд╛ рд╣реИ, рдХрдВрд╕реЛрд▓.рддреНрд░реБрдЯрд┐ рдХреЗ рдмрдЬрд╛рдп console.warn рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреЗрдХреНрд╕реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рдЧрдИред рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдкрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ рдкреНрд░рддреНрдпрдп рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "a.rsp.utf-8" рдпрд╛ "a.rsp.cp1251")ред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ