рдирд┐рдХ рдбрд┐рд╕реЕрдЧреНрдирд┐рдпрд░ (
рдУрдкрди рд╕реЛрд░реНрд╕ рд╕рдорд┐рдЯ рдЖрдгрд┐ рдПрдореНрдмреЗрдбреЗрдб рд▓рд┐рдирдХреНрд╕ рдХреЙрдиреНрдлрд░рдиреНрд╕рдордзреАрд▓ рдЕрд▓реАрдХрдбреАрд▓ рдЪрд░реНрдЪреЗрдд рд▓рд┐рдирд╕ рдЯреЛрд░рд╡рд╛рд▓реНрдбреНрд╕
- "рдлрд┐рд╢ рдЗрди рдЕ рдмреЕрд░рд▓" рдХрдВрдкрдиреАрдЪреЗ рд╡рд┐рдХрд╕рдХ
рддрдпрд╛рд░ рд░рд╕реНрдЯ рднрд╛рд╖реЗрдд рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓рд╕рд╛рдареА рд▓реЛрдб рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдореЙрдбреНрдпреВрд▓реНрд╕ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдЯреВрд▓рдХрд┐рдЯ, рд╕реБрд░рдХреНрд╖рд╛ рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрдгрд┐ рдХрд░реНрдирд▓ рд╕рдВрд░рдЪрдирд╛рдВрд╡рд░ рдЕрдореВрд░реНрдд рд╕реНрддрд░рд╛рдВрдЪрд╛ рд╕рдВрдЪ рд╡рд╛рдкрд░реВрди. рдпреБрдЯрд┐рд▓рд┐рдЯреА рд╡рд╛рдкрд░реВрди рд╡рд┐рджреНрдпрдорд╛рди рдХрд░реНрдирд▓ рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реНрд╕рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╕реНрддрд░ рдЖрдкреЛрдЖрдк рддрдпрд╛рд░ рд╣реЛрддрд╛рддbingen . рдерд░ рдмрд╛рдВрдзрдгреНрдпрд╛рд╕рд╛рдареА рдХреНрд▓реЕрдВрдЧрдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдЗрдВрдЯрд░рд▓реЗрдЕрд░реНрд╕ рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЕрд╕реЗрдВрдмрд▓ рдХреЗрд▓реЗрд▓реЗ рдореЙрдбреНрдпреВрд▓ рд╕реНрдЯреЕрдЯрд┐рдХрд▓рд┐рдм рдкреЕрдХреЗрдЬ рд╡рд╛рдкрд░рддрд╛рдд. - рд╣рд╛рдБрдЧрдХрд╛рдБрдЧрдЪреНрдпрд╛ рдЪреАрдиреА рд╡рд┐рджреНрдпрд╛рдкреАрдард╛рддреАрд▓ рд╕рдВрд╢реЛрдзрдХ
рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреЗ рд░рд╕реНрдЯрдордзреНрдпреЗ рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдореНрд╕ рдЖрдгрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдСрдл рдерд┐рдВрдЧреНрдЬ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕рд╕рд╛рдареА рдбреНрд░рд╛рдпрд╡реНрд╣рд░реНрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдХрд▓реНрдк, рдЬреЛ рдХрд░реНрдирд▓ рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реНрд╕рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╕реНрддрд░ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдмрд╛рдЗрдВрдбрдЬреЗрдирдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рддреЛ. рдлреНрд░реЗрдорд╡рд░реНрдХ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд░реНрдирд▓рдордзреНрдпреЗ рдмрджрд▓ рди рдХрд░рддрд╛ рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рд╕реБрд░рдХреНрд╖рд┐рддрддрд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ - рдХрд░реНрдирд▓рдордзреАрд▓ рдбреНрд░рд╛рдпрд╡реНрд╣рд░реНрд╕рд╕рд╛рдареА рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрд▓рдЧрд╛рд╡ рдкрд╛рддрд│реА рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА, рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╕реНрдЯ рднрд╛рд╖рд╛ рд╡рд╛рдкрд░реВрди, рд╕рдВрдХрд▓рдирд╛рдЪреНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ рд╕рдорд╕реНрдпрд╛ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЖрд╣реЗ. рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░рд▓реЗ рдЬрд╛рддреЗ рдХреА рдпреЛрдЧреНрдп рдСрдбрд┐рдЯ рди рдХрд░рддрд╛ рдШрд╛рдИрдШрд╛рдИрдд рдорд╛рд▓рдХреА рдЪрд╛рд▓рдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдЙрдкрдХрд░рдг рдЙрддреНрдкрд╛рджрдХрд╛рдВрдХрдбреВрди рдЕрд╢рд╛ рдкрджреНрдзрддреАрдЪреА рдорд╛рдЧрдгреА рдЕрд╕реВ рд╢рдХрддреЗ. - рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд┐рдХрд╕рдХ
C2Rust рд╕реА рдХреЛрдб рд░рд╕реНрдЯрд╡рд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА,рдкрд╛рд░ рдкрд╛рдбрдгреЗ рдХрдореАрддрдХрдореА рдореЕрдиреНрдпреБрдЕрд▓ рд╕рдВрдкрд╛рджрдирд╛рдВрд╕рд╣ рдХрд░реНрдирд▓ рдореЙрдбреНрдпреВрд▓реНрд╕ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреЗ рдкреНрд░рдпреЛрдЧ. рд▓рдХреНрд╖рд╛рдд рдШреЗрддрд▓реЗрд▓реНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгрдЬреЗ C2Rust рдордзреНрдпреЗ рдЕрджреНрдпрд╛рдк рд╕рдорд░реНрдерд┐рдд рдирд╕рд▓реЗрд▓реНрдпрд╛ GCC рд╡рд┐рд╕реНрддрд╛рд░рд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдХреЛрдбрдЪреНрдпрд╛ рдХрд░реНрдирд▓рдЪреНрдпрд╛ рдЕрдиреЗрдХ рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ рд╡рд╛рдкрд░. рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, C2Rust рдиреЗ GCC рд╡рд┐рд╢реЗрд╖рддрд╛ рдЗрдирд▓рд╛рдЗрди, рдХреЛрд▓реНрдб, рдЙрдкрдирд╛рд╡, рд╡рд╛рдкрд░рд▓реЗрд▓реЗ рдЖрдгрд┐ рд╕реЗрдХреНрд╢рдирд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрдЦрд▓реА рдЖрд╣реЗ, рддрд╕реЗрдЪ рдЗрдирд▓рд╛рдЗрди рдЕрд╕реЗрдВрдмрд▓рд░рдЪреНрдпрд╛ рдХреНрд╖рдорддрд╛рдВрдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдгреЗ рдЖрдгрд┐ рд╕рдВрд░реЗрдЦрд┐рдд рдЖрдгрд┐ рдкреЕрдХ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рдВрд░рдЪрдирд╛рдВрд╕рд╣ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, xregs_state) . рдореЕрдиреНрдпреБрдЕрд▓ рдХрд╛рдорд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдорд╣рддреНрддреНрд╡рд╛рдЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдордзреНрдпреЗ рдЧреИрд░-рдХреНрд╖реБрд▓реНрд▓рдХ C рдореЕрдХреНрд░реЛрдЪреЗ рд░рд╕реНрдЯ рдореЕрдХреНрд░реЛрдордзреНрдпреЗ рднрд╛рд╖рд╛рдВрддрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдЕрд╕рдорд░реНрдерддрд╛ рдЖрдгрд┐ рдкреНрд░рдХрд╛рд░ рдкреБрдиреНрд╣рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ, рдХрд╛рд░рдг C2Rust C рдкреНрд░рдХрд╛рд░рд╛рдВрдирд╛ libc рдкреЕрдХреЗрдЬрдордзреАрд▓ рд╡реНрдпрд╛рдЦреНрдпрд╛рдВрдордзреНрдпреЗ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд░рддреЗ, рдкрд░рдВрддреБ рд╣реЗ рдкреЕрдХреЗрдЬ рдХрд░реНрдирд▓ рдореЙрдбреНрдпреВрд▓рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реА.
рд╕реНрддреНрд░реЛрдд: opennet.ru