Edge: x64 рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдиреЛрдб.рдЬреЗрдПрд╕ x64 рдкрд░ .NET рд╕реЗ рджреЗрд╢реА x86 рдХреЛрдб рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 16 рдЕрдкреНрд░реИрд▓ 2013  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: tjanczuk/edge

рдирдорд╕реНрддреЗ,

рдХреНрдпрд╛ рд╡рд┐рдВрдбреЛрдЬ x64 рдкрд░ node.js x64 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, edge.js рдореЗрдВ .NET рдХреЛрдб рд╕реЗ рджреЗрд╢реА 32-рдмрд┐рдЯ dll рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?

рдХрдВрд╕реЛрд▓ .NET рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдореИрдВ рдЕрдкрдиреЗ рдкреБрд░рд╛рдиреЗ 32-рдмрд┐рдЯ рджреЗрд╢реА dll (DllImport рджреНрд╡рд╛рд░рд╛) рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдХрд┐рдирд╛рд░реЗ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдЬреЗрдПрд╕ рдореБрдЭреЗ BadImageException рдорд┐рд▓рддрд╛ рд╣реИред рд╡рд╣реА рдкрд░рд┐рдгрд╛рдо рдореБрдЭреЗ рдорд┐рд▓рддрд╛ рд╣реИ рдЕрдЧрд░ рдореИрдВ x86 .NET рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВред

рддреЛ, рдореБрдЭреЗ рдХреБрдЫ рдкреБрд░рд╛рдиреЗ x86 рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг x86 node.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛?

рдПрдХ рдФрд░ рд╕рд╡рд╛рд▓, COM-s рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ?

рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЖрдИрдЖрдИрдПрд╕-рдиреЛрдб рдХреЗрд╡рд▓ x86 рдиреЛрдб.рдЬреЗрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдореЗрд░реЗ рдРрдк рдХреЗ рд▓рд┐рдП x64 рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ x64 рд╕рдВрд╕реНрдХрд░рдг x64 рдорд╢реАрдиреЛрдВ рдкрд░ рдЕрдзрд┐рдХ рдмрдврд╝рд┐рдпрд╛ рд╣реЛрдЧрд╛)ред рддреЛ рдореБрдЭреЗ x86 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣реИ рдирд╛?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

+1 -- рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рд╣реБрдИ рд╣реИ? рдореЗрд░рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рддреГрддреАрдп рдкрдХреНрд╖ .NET рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ 32-рдмрд┐рдЯ рджреЗрд╢реА рд╕реА ++ рдбреАрдПрд▓ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддрд╛ рд╣реИред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрджрд┐ рдЗрд╕реЗ рд╕реА (рдореВрд▓ рдбреАрдПрд▓рдПрд▓) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдиреЛрдб рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдореЙрдбреНрдпреВрд▓/рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдкрдХреА рдмрд╛рддрдЪреАрдд рдХрд┐рддрдиреА рдЬрдЯрд┐рд▓ рд╣реИ, рдФрд░ рдХреНрдпрд╛ рдЗрд╕реЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди exe рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдЗрдирдкреБрдЯ/рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ?

рдмрд╕ рдХреБрдЫ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдирд╛ рдЬреЛ рдЕрдзрд┐рдХ рдкреНрд░рддреНрдпрдХреНрд╖ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд╢реБрдХреНрд░рд┐рдпрд╛

рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрдм рдореЗрд░реЗ рдкрд╛рд╕ Native.dll рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХреБрдЫ .NET рддрд░реНрдХ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ .NET рдореЗрдВ рд╕рднреА рдХреЛрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдПрдХ рдмрд╛рд░ рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрдм рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рджреЗрд╢реА рдбреАрдПрд▓ рд╕реЗ рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдХрд┐ рдореИрдВ рд╕реАрдзреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдореВрд▓ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВред

рд╕реА # рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рджреЛ рдореВрд▓ рдХрд╛рд░реНрдп рдЖрдпрд╛рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ, рджреЛрдиреЛрдВ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд╕рд╛рде рдЬреИрд╕реЗ:

[DllImport ("рд▓рд╛рдЗрдмреНрд░реЗрд░реА.dll")]
рд╕реНрдерд┐рд░ рдмрд╛рд╣рд░реА рдЗрдВрдЯ Func1 (рдмрд╛рдЗрдЯ [] рдкреА 1, рд░реЗрдлрд░реА рдЗрдВрдЯ рдкреА 2, рдмрд╛рдЗрдЯ [] рдкреА 3, рдЗрдВрдЯ рдкреА 4);

рдореБрдЭреЗ dll-s https://github.com/rranson/node-ffi рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП node.js рдкреИрдХреЗрдЬ рдорд┐рд▓рд╛ рд╣реИ
рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИред рдиреЛрдб-рдПрдлрдПрдлрдЖрдИ рдХреЗ рд╕рд╛рде рдЗрд╕ рддрд░рд╣ рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ?

рдореИрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ, рдлрд┐рд░ рджреЗрд╢реА рдбреАрдПрд▓ рдореЗрдВ рдХреБрдЫ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд╕рд╛рде рдбреАрдХреЛрдб рдХрд░реЗрдВ, рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓реЗрдВ рдФрд░ рдЕрдВрдд рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдмрд╛рдЗрдирд░реА рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╡рд╛рдкрд╕реА рдХрд░реЗрдВред рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рдХрд┐рд╕реА рдХреЛ рднреА рдиреЛрдб.рдЬреЗрдПрд╕ рдореЗрдВ рдмрд╛рдЗрдирд░реА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рдиреЛрдб.рдЬреЗрдПрд╕ рдкреИрдХреЗрдЬ рдкрддрд╛ рд╣реИ?

+1 -- рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рд╣реБрдИ рд╣реИ? рдореЗрд░рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рддреГрддреАрдп рдкрдХреНрд╖ .NET рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ 32-рдмрд┐рдЯ рджреЗрд╢реА рд╕реА ++ рдбреАрдПрд▓ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

kneumei picture kneumei  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

agracio picture agracio  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tdupuy17 picture tdupuy17  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

raffaeler picture raffaeler  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

EricSmekens picture EricSmekens  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ