рд╕рд╛рдореВрд╣рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХрддрд╛ рдХреА рддрд▓рд╛рд╢ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ - рдЕрд▓рдЧрд╛рд╡ рдХреА рдПрдХрд░реВрдкрддрд╛ рдореЗрдВред
рдХреЛрдЬрдорд╛ рдЫрдбрд╝рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХреБрдЫ рдкрд╛рдиреА
рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкрд╣рд▓реВ-рдЙрдиреНрдореБрдЦ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╣рд░ рд╕рд╛рд▓ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреЗ рдирдП рдореЛрд░реНрдЪреЗ рд▓реЗрддреА рд╣реИред рдПрдХ рд╣рдм рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рд╕рд╡рд╛рд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдХрдИ рд▓реЗрдЦ рдереЗ, рдЬрд╛рд╡рд╛ рд╕реЗ рдкреАрдПрдЪрдкреА рддрдХред рдпрд╣ рдЖрдкрдХреА рдЖрдБрдЦреЛрдВ рдХреЛ C / C ++ рдХреА рдУрд░ рдореЛрдбрд╝рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдЕрдм, рдкрд╣рд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ, рдореИрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо "рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд╣рд▓реБрдУрдВ" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рд╕рд╛рде рдирд┐рдХрдЯрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЪрд░реНрдЪрд╛ рдПрдореНрдмреЗрдбреЗрдб рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рдХреА рдЬрд╛рдПрдЧреА, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд░реНрдгрд┐рдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХрд╣реАрдВ рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдореНрдмреЗрдбреЗрдб, рдпрд╣ рд╡рд╣ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬрд╣рд╛рдВ рдкреНрд░рднрд╛рд╡ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдЧрд╛ред рдореИрдВ "рд╣реЗрдбрд░" рдФрд░ "рдбрд┐рдлрд╛рдЗрди" рдЬреИрд╕реЗ рд╢рдмреНрджреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрд░рдорд╢рдГ рдЕрд░реНрде, "рд╣реЗрдбрд░ рдлрд╛рдЗрд▓" рдФрд░ "рдореИрдХреНрд░реЛ рдбреЗрдлрд┐рдирд┐рд╢рди" рдХреЗ рд▓рд┐рдП рднреА рдХрд░реВрдВрдЧрд╛ред рдПрдХ рд╕реВрдЦреА рдФрд░ рдЕрдХрд╛рджрдорд┐рдХ рднрд╛рд╖рд╛ рдЕрдЪреНрдЫреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдЕрдЧрд░ рдЖрдк рд╕реНрдерд╛рдкрд┐рдд рдЕрдВрдЧреНрд░реЗрдЬреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕рдм рдХреБрдЫ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред
"рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░" рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рдШрдЯрдХ рдореЙрдбрд▓ рд╕реЗ рдмреЗрд╣рддрд░ рдХреБрдЫ рднреА рдЕрднреА рддрдХ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ IEEE рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╡рд┐рд╡рд░рдг рдорд╛рдирдХ рдХрд┐рд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдШрдЯрдХреЛрдВ рдореЗрдВ рддреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВред рдШрдЯрдХ рдЕрдЪреНрдЫреЗ рд╣реИрдВ, рдЙрдирдХреЗ рдкрд╛рд╕ рдЦрд░рд╛рдм рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА, рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рдФрд░ рдЕрдВрддрддрдГ, рдЕрдЪреНрдЫреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╣реИред
рдмрджрд▓реЗ рдореЗрдВ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ (рд╡реНрдпрд╛рдкрдХ рдЕрд░реНрде рдореЗрдВ) рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдПрдХ рдкрд╛рда рд╡рд┐рд╡рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЖрднрд╛рд╕реА рджреБрдирд┐рдпрд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдФрд░ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рд╣реИред рдФрд░ рд╕рдмрдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рджреБрдирд┐рдпрд╛ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЖрднрд╛рд╕реА) рд╡рд╕реНрддреБрдУрдВ / рдШрдЯрдХреЛрдВ рдХреЛ рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред "рдкрд╛рд╕-рдереНрд░реВ" рдирд╛рдордХ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рдПрдХ рд╕реНрдерд╛рди рдкрд░ рдирд┐рд╣рд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рджреНрд╡рд╛рд░рд╛ "рдлреИрд▓ рдЧрдпрд╛" рд╣реИред рдЙрджрд╛рд╣рд░рдг рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ рд╣реИрдВ: рд▓реЙрдЧрд┐рдВрдЧ, рдЯреНрд░реЗрд╕рд┐рдВрдЧ, рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ, рдФрд░ "рдЧреИрд░-рддреБрдЪреНрдЫ" рд╡рд╛рд▓реЗ, рдЬреИрд╕реЗ рдХрд┐ рд╕реБрд░рдХреНрд╖рд╛, рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдореЛрд░реА рд╕рдкреЛрд░реНрдЯ рдпрд╛ рдорд▓реНрдЯреАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧред рдЗрди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдореБрдЦреНрдп рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЕрд▓рд╛рд╡рд╛ (рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд▓реЙрдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ) рдЕрднреА рднреА рдХреБрдЫ "рдХреБрдЫ" рд╣реИ рдЬрд┐рд╕реЗ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрди рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдкрд╣рд▓реВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдкрд╣рд▓реБрдУрдВ рдХреЛ рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рдореБрджреНрджреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЬреЛ рдЗрди рдкрд╣рд▓реБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкрд╣рд▓реВ-рдЙрдиреНрдореБрдЦ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ (рдПрдУрдкреА) рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдПрдУрдкреА рдХреЗ рдХрд░реАрдм рдПрдХ рдЕрд╡рдзрд╛рд░рдгрд╛ рдирд┐рд░реНрднрд░рддрд╛ (рдУрдЯреА) рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рдпрджреНрдпрдкрд┐ рд╡реЗ рдЕрдХреНрд╕рд░ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╡рд┐рд░реЛрдзреА рд╣реЛрддреЗ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдирдХреЗ рдмреАрдЪ рдорддрднреЗрджреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЖрдо рд╣реИред рдореБрдЦреНрдп рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдПрдУрдкреА рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рд▓рдХреНрд╖реНрдп рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рдФрд░ рдХреИрд╕реЗ рдПрдореНрдмреЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдкрджреНрдзрддрд┐ рдореЗрдВ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдВ рд╕реВрдЪреАрдмрджреНрдз рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рддрд╛рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рджрд░реНрд╢рди рдореЗрдВ рди рдЭреБрдХреЗрдВред рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдиреЛрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ AOP рд╕рдорд╕реНрдпрд╛ рдХреЛ "рдЧреИрд░-рддреБрдЪреНрдЫ рдкрд╣рд▓реБрдУрдВ" рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдХреЛрдб рдХреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдкрд╣рд▓реВ рдХреЙрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЬреИрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ, рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рд▓реМрдЯрддреЗ рд╣реИрдВ, рдЖрджрд┐)ред рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЗрдВрдЬреЗрдХреНрд╢рди рдпрд╣рд╛рдВ рд╕реНрдЯреЗрдЬ рд▓реЗрддрд╛ рд╣реИред рдЕрдЪреНрдЫрд╛ OT рдХреНрдпрд╛ рд╣реИ? рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╢реБрд░реВ рдХрд┐рдП рдЧрдП рдкрд╣рд▓реВ рдФрд░ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд▓рдХреНрд╖реНрдп рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдирд╛рдореЛрдВ рд╕реЗ рдмрдВрдзрд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ "рд╕реНрд░реЛрдд рд╕реНрддрд░ рдореЙрдбреНрдпреВрд▓" рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдорд╛рд░реНрдЧ рдкреНрд░рд╢рд╕реНрдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░реВрдВрдЧрд╛ (рдореЙрдбреНрдпреВрд▓рд░рд┐рдЯреА рд╕реНрд╡рдпрдВ рдПрдХ рдЕрд▓рдЧ рдмрдбрд╝реА рдЪрд░реНрдЪрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ)ред VZ рдФрд░ AOP рдХреЗ рдмреАрдЪ рдХреНрдпрд╛ рдЖрдо рд╣реИ? рдХрдо рд╕реЗ рдХрдо рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдУрдЯреА, рд╕рд╛рде рд╣реА рдПрдУрдкреА, рдЖрдкрдХреЛ рдХреБрдЫ рддреГрддреАрдп-рдкрдХреНрд╖ рдХреЛрдб (рдкрд╣рд▓реБрдУрдВ) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд▓рдХреНрд╖реНрдп рдХреЛрдб рдХреЗ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред рдореВрд▓рднреВрдд рдЕрдВрддрд░ рдХреЗрд╡рд▓ рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рд╕рд┐рдХ рдПрдУрдкреА рдореЗрдВ, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдкрд╣рд▓реВ рдХреЗ рдХреЛрдб рдореЗрдВ рд╣реА рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдУрдЯреА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЛрдб рдХреЛ рдХреЙрд▓ рдХреЛрдб рдореЗрдВ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рдХреНрд╖рд┐рдд рдХреЛрдб рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬрд╛рд╡рд╛ / рд╕реА # рдЕрдиреБрдпрд╛рдпреА рдпрдереЛрдЪрд┐рдд рддрд░реНрдХ рджреЗрдВрдЧреЗ рдХрд┐ рд╡реАрдЬреЗрдб рдХреЗрд╡рд▓ рдПрдХ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рд╣реИ рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд╕ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдФрд░ рдЙрд╕рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдлреИрдХреНрдЯреНрд░реА рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рдмрд╛рд╣рд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдЧреА рдФрд░ рдЖрдкрдХреЛ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рд╡рд╣ рдмрдирд╛рдПрдЧреАред рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ, рдЪреВрдВрдХрд┐ рд╣рдо рдПрдореНрдмреЗрдбреЗрдб рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдЕрдкреНрд░рддреНрдпрдХреНрд╖рддрд╛ рдФрд░ рдЧрддрд┐рд╢реАрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рд╕рдмрд╕реЗ рд╕реАрдзрд╛ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рддрд╛ рд╣реИред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрд╕рдВрднрд╡ рд╣реЛ, рд╕рдм рдХреБрдЫ рд╕реНрдерд┐рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрд╣ рдкреЛрд╕реНрдЯ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдХрд┐ рдХреИрд╕реЗ (рдФрд░ рдХреНрдпреЛрдВ) рд╕реА / рд╕реА ++ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд┐рд░ рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдпрд╣ рдХрд┐рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ рдХреИрд╕реЗ рдЖрд╕рд╛рди рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред
рдмрдбрд╝реЗ рдПрдореНрдмреЗрдбреЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ
рдПрдореНрдмреЗрдбреЗрдб рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдРрд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдиреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ (I, рдПрдХ рд╕рдордп рдореЗрдВ, рдПрдХ рдХреЛрдб рдЖрдзрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ 6 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рддреАрди рд╕рдВрдХрд▓рдХ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЬреАрд╕реАрд╕реА рднрд┐рдиреНрдирддрд╛рдПрдВ рдереАрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдереЗ 3-4, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рдВрдХрд▓рдХ рдХреЗ рд▓рд┐рдП)ред рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмреЛрд░реНрдбреЛрдВ рдХреЗ рд▓рд┐рдП, рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реНрдХ рдереЗ, рд╡рд┐рднрд┐рдиреНрди рдбреНрд░рд╛рдЗрд╡рд░, рдЖрджрд┐ред рдЗрд╕рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХреНрд░рдо рд▓рд╛рдиреЗ рдХрд╛ рдПрдХ рдкреНрд░рд╛рдХреГрддрд┐рдХ рддрд░реАрдХрд╛ рд╣реИ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИрдбрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (#define) рдпреБрдХреНрдд рд╕реЗрдЯ рдкреЗрд╢ рдХрд░рдирд╛ рдЬреЛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд╕рдХреНрд╖рдо рдпрд╛ рдЕрдХреНрд╖рдо рдХрд░реЗрдЧрд╛ред рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрднрд╡ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП, рдРрд╕реА рдлрд╝рд╛рдЗрд▓ рджрд░реНрдЬ рдХреА рдЬрд╛рдПрдЧреА, рдФрд░ рд╕рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ рдЙрд╕реЗ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдврд╝рддреА рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рддреА рд╣реИ, рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ рдмрдврд╝рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рднреА рд╣реЛрддреА рд╣реИред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рд▓реЗрдЦрдХ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рдВрд░рдЪрдирд╛, рдФрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдореЗрдВ рдЕрд░реНрде рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЗрд╕рдореЗрдВ рдЙрд╕рдХреА рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЪреВрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдПрдХ рд╕рдмрд╕реЗрдЯ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдердХрд╛рдК рд╣реИ, рдПрдХ рд╣реА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд▓реЛрдЧреЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЫреЛрдбрд╝рдХрд░ред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реЗрдВ рдПрдХрддреНрд░ рд╣реЛрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╕реНрд░реЛрдд рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрдерд┐рд░рддрд╛ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡ рд╕реЗ рдПрдХ рдФрд░ рдорд╛рдорд▓рд╛, рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕рдиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд░реВрдк рдореЗрдВ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд▓рд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рд╣реЗрдбрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рднреА рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдФрд░ рдЙрдирдХреЗ рд╕рднреА рдЖрдВрддрд░рд┐рдХ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рдеред рди рдХреЗрд╡рд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкрд╛рдардХреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рднреНрдп рд╕рдордп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╣реЗрдбрд░ рдХреЗ рд╣рдорд╛рд░реЗ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕реЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рд╕рдордп рднреА рд▓рдЧрд╛ред
рдХреНрдпреЛрдВ C / C ++ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ
C / C ++ рдореЗрдВ рдореЙрдбреНрдпреБрд▓реИрд░рд┐рдЯреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВ, рдЬрд┐рддрдирд╛ рдХрд┐ рдпреЗ рднрд╛рд╖рд╛рдПрдВ рдЦреБрдж рдореМрдЬреВрдж рд╣реИрдВред рдЕрдХреНрд╕рд░, рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рдмрдВрдзрди рдЗрдВрдЬреАрдирд┐рдпрд░ рдХреА рддрд░рд╣ рдХреБрдЫ рд░рд┐рдХреНрддрд┐ рд╕реВрдЪреА рдореЗрдВ рдЪрдордХрддреА рд╣реИ, рдФрд░ рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдпрд╣ рдПрдХ "рдмрд╛рдзрд╛ рдХреЗ рдирд┐рджреЗрд╢рдХ" рдЬреИрд╕рд╛ рдХреБрдЫ рд▓рдЧрддрд╛ рд╣реИ, рд╕рдорд╕реНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдпрджреНрдпрдкрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рди рдХреЗрд╡рд▓ C / C ++ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рднреА рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрди рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рджрд░реНрд╢рди-рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ, рдФрд░ рдЬрд┐рдирдХреЗ рдХрд╛рд░рдг рдЧрддрд┐рд╢реАрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдпрд╣ рдорд╛рди рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ C / C ++ рдореЗрдВ рдкреНрд░рддрд┐рд░реВрдкрдХрддрд╛ рдХреЗрд╡рд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрддрд░ рдкрд░ рд╣реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ C / C ++ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ C) рдХреЗ рд╡рд┐рд╢рд╛рд▓ рдмрд╣реБрдордд рдХреЗ рд╕реНрд░реЛрдд рд╕рдВрд░рдЪрдирд╛ рдХреЛ рджреЗрдЦреЗрдВред "рдореЙрдбреНрдпреВрд▓" рдХреЗ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдлрд╝реЛрд▓реНрдбрд░ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╣реЗрдбрд░ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рд╕рднреА рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдн рд╣реЛрддрд╛ рд╣реИред рдпрд╣ "рд╕рдВрджрд░реНрдн рдкрде" рд╣реИред рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ, рдЗрд╕рд▓рд┐рдП, рдПрдХ рдореЛрдиреЛрд▓рд┐рде рдПрдХ рдореИрдХреНрд░реЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдХ рдирдпрд╛ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рдирд╛ рдЕрдкрдиреЗ рд╣реЗрдбрд░ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛, рдирдП #include рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛, рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрджрд▓рдирд╛ рдФрд░ рдХрдИ рдЕрдиреНрдп рдЫреЛрдЯреА рдЪреАрдЬреЗрдВ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдореЙрдбреНрдпреВрд▓ рдореЙрдбреНрдпреВрд▓ рд╣реЛрдирд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдПрдХ рдЕрднрд┐рдиреНрди рдЕрдВрдЧ рдмрди рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдЕрд▓рдЧ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде рд╡реИрд╢реНрд╡рд┐рдХ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рднреА рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдмрдирд╛ рджреЗрддрд╛ рд╣реИ, рдмрд╕ рдлрд╛рдЗрд▓реЛрдВ рдХреА рдирдХрд▓ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдлрд╛рдЗрд▓реЗрдВ рдХреЗрд╡рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдкреЗрдбрд╝ рдореЗрдВ рдЭреВрда рд╣реЛрдВрдЧреА рдФрд░ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдВрдЧреА)ред рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдорд╕реНрдпрд╛ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА "рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ" рдХреА рд╕рд╣реА рд╕реВрдЪреА рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдирд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрджрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рд╛рд▓реА рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИ, рддреЛ рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рд╕реНрд╡рдпрдВ рдлрд╝рдВрдХреНрд╢рдВрд╕ (рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди) рдХреЛ рднреА рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдХрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИрдВ, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рддреАрди рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП "рд╕рдордп-рдкрд░реАрдХреНрд╖рдг" рдмреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдПред рдкрд╣рд▓рд╛ рд╣реИ # ifdef- # elif- # endifред рдХреЛрдб рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ, рдЬрд┐рд╕рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, # ifdef рджреНрд╡рд╛рд░рд╛ рдлрдВрд╕рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп "рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди" рд╢реАрд░реНрд╖рдХ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдирд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рддрдм рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк # рдореЗрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдРрд╕реЗ #ifdefs рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд╕реИрдХрдбрд╝реЛрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрди рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХреБрдЫ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╛рдЧрд▓ рджрд┐рдЦрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдПрдХ "рдмрдВрдж" рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХрд╣рддрд╛ рд╣реВрдВ, ifdef рд╡рд┐рдХрд▓реНрдк рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ рд╣реИрдВ, рдЖрдк рд╕реНрд░реЛрдд рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдХреБрдЫ рдФрд░ рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗред
рджреВрд╕рд░реА рд╡рд┐рдзрд┐ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рдХреБрдЫ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХрдИ рд╕рдВрднрд╛рд╡рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛрддреЗ рд╣реИрдВ, рд╡рд╛рдВрдЫрд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓реЙрдЧ рдХреЛ print_log рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдореБрдЦреНрдп рдиреБрдХрд╕рд╛рди рд░рдирд╡реЗ рдУрд╡рд░рд╣реЗрдб рд╣реИред рдпрджрд┐ рд╣рдореЗрдВ рдХреБрдЫ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реИ, рддреЛ рд╣рдо рдПрдХ рд╕реНрдЯрдм рдореЙрдбреНрдпреВрд▓ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╡реИрд╕реЗ рднреА рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдВрдд рдореЗрдВ, рддреАрд╕рд░реА рд╡рд┐рдзрд┐ рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, cpu.h рдЬреИрд╕реЗ рд╕рд╛рд░ рд╣реЗрдбрд░ рдирд╛рдореЛрдВ рдХреЛ рдмрд╛рдВрд╣ рдпрд╛ x86.h рдЬреИрд╕реЗ рдХрдВрдХреНрд░реАрдЯ рд╡рд╛рд▓реЗ рд╕реЗ рдореИрдк рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣реЗрдбрд░ рдХреА рдРрд╕реА рдЦреВрдмреА рд╣реЗрдбрд░ рдХреА рдЬрдЧрд╣ рдФрд░ "рдЦрд╛рд▓реА" рдореИрдХреНрд░реЛрдЬрд╝ рдХреЗ рд╕рд╛рде рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ "рдЦреБрд▓рд╛рдкрди" рд╣реИ: рдЖрдк рдХрд┐рд╕реА рд╣реЗрдбрд░ рдХреЛ рд╕реНрд░реЛрдд рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣реЗрдбрд░ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмреАрдЪ рдХреЛрдИ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛрддрд╛ рд╣реИред рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдЕрдореВрд░реНрдд рд╣реЗрдбрд░ рдирд╛рдореЛрдВ, рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╛рдореЛрдВ рдФрд░ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмреАрдЪ рдпрд╣ рд╕реНрдерд┐рд░рддрд╛ рдлрд┐рд░ рд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛рдП рд░рдЦреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдирд╛рдо рдФрд░ рдХреНрдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдПрдХ рдЦрд░рд╛рдм рдкреНрд░рд▓реЗрдЦрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд┐рд░ рд╕реЗ рдЕрд╕рдорд░реНрдерд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИред
рдмреЗрд╢рдХ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдХрд▓реНрдкрдирд╛ рдЗрди рддреАрди рддрд░реАрдХреЛрдВ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдХрд╣реАрдВ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЧреЛрдВрдж рд╕реНрд░реЛрдд рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ (рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕реНрд░реЛрдд рд╣реЗрдбрд░ рдФрд░ рдЕрд╕реЗрдВрдмрд▓реА рд╕рд┐рд╕реНрдЯрдо рдлрд╛рдЗрд▓ рджреЛрдиреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╡рд┐рддрд░рдг рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП), рдХрд╣реАрдВ рд╕реАрдПрдордХреЗ / рд╕реНрдХреИрдиреНрд╕, рдЖрджрд┐ред рдЗрди рддрд░реАрдХреЛрдВ рдХреА рдмрд╣реБрддрд╛рдпрдд рдлрд┐рд░ рд╕реЗ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдлрд┐рд▓рд╣рд╛рд▓ рдХреЛрдИ рдЖрдо рд╕рд╣рдорддрд┐ рдирд╣реАрдВ рд╣реИ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╣реИрдВред
рдЪрд╛рдБрджреА рдХреА рдЧреЛрд▓реА
рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП рдЗрд╕рдХрд╛ рдХреЗрдВрджреНрд░реАрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рд╣реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмреАрдЪ рдХрд╛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рди рдХреЗрд╡рд▓ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╕рд┐рд░ рдореЗрдВред рдкрд╛рд╕реНрдХрд▓ рдореЗрдВ рдХреБрдЫ рджрд╢рдХ рдкрд╣рд▓реЗ рднреА рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдерд╛ (рд╣реЙрд▓ рдореЗрдВ рд╕реНрдкреАрдХрд░ рдХреЗ рдЖрд░реЛрдкреЛрдВ рдХреЛ рд╕реБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдкреБрд░рд╛рдиреЗ рд╕рдордп рдХреЗ рд▓реЛрдЧ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкрд╛рд╕реНрдХрд▓ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреЛ рдЦрдВрдб рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рд╕рдорд╛рд╡реЗрд╢ рдХреЗ рд░реВрдк рдореЗрдВ <рдореЙрдбреНрдпреВрд▓ рдирд╛рдо> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рд╣реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдереА рдФрд░ рдЕрдХреЗрд▓реЗ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рдПрдХ рдкреВрд░реНрдг рдирд┐рд░реНрднрд░рддрд╛ рдЧреНрд░рд╛рдл рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛ рдФрд░ рдпрд╣ рд╕рдордЭрдирд╛ рдХрд┐ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдореИрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬреЛ рдмрд╛рд╣рд░реА рд╕реНрд░реЛрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЙрдирдХреЗ рдмреАрдЪ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдерд╛ рдХрд┐ рд╡рд╣ рд╕рдордп рдЬрдм рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкрд░рд┐рдорд╛рдг рдХреЗ рдХреНрд░рдорд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ рдерд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЙрджреНрдпреЛрдЧ рдХреЗ рджрд┐рдЧреНрдЧрдЬреЛрдВ рдХреЛ рдЬреАрд╡рди рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рднрд╛рд╖рд╛ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рди рдХрд┐ рд╣реЛрд▓реА рдХреЗ рдкрд╡рд┐рддреНрд░ рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рд╕реА / рд╕реА ++, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдХреЗрд╡рд▓ рдорд╛рдирдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд╕рд╛рде рд╣реА рд╕рдВрддреБрд╖реНрдЯ рд░рд╣рдирд╛ рдерд╛ред рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреБрдЫ рдЪрд┐рд╣реНрди рд▓рд┐рдЦрдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ, рдореБрдЦреНрдп рдкреНрд░рд╢реНрди рдпрд╣ рдерд╛ рдХрд┐ рдХреИрд╕реЗ "рдирд┐рдпрдВрддреНрд░рд┐рдд рдЖрдпрд╛рдд" (рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ) рдХрд┐рдпрд╛ рдЬрд╛рдП, рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рднреА рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╕рдорд╛рд╡реЗрд╢рди рдХреЗ рд▓рд┐рдП, рд╡рд┐рдХрд▓реНрдк рдЫреЛрдЯрд╛ рд╣реИ, рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЖрдк рдХреЗрд╡рд▓ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо (рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдпрд╛ рдХреЛрдг рдХреЛрд╖реНрдардХ) рдФрд░ рдореИрдХреНрд░реЛрдЬрд╝ рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдерд╛ рдЬрд┐рд╕рдиреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреБрдВрдЬреА рджреАред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдмрд╛рддреЗрдВ рдкрд╣рд▓реЗред
рдЖрдЧреЗ рдХреА рд╣рд▓рдЪрд▓ рдХреЗ рдмрд┐рдирд╛, рд╣реЗрдбрд░ рдФрд░ рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рд╕рдорд╛рди рдкрд╛рд╕реНрдХрд▓ рдЯреИрдЧ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреА рддрд░рд╣ рдХреБрдЫ: рдкреНрд░рднрд╛рд╡ рд▓реЗрдмрд▓ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рдЪрд░реНрдЪрд╛рдПрдВ рд╣реБрдИрдВ, рд▓реЗрдХрд┐рди рдЕрдВрддрддрдГ # рдкреНрд░рд╛рдЧрдорд╛ рдкрд░ рдмрд╕ рдЧрдПред рдЕрднреА рднреА рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рд░реВрдк рдореЗрдВ рдЯреИрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рдерд╛ (рдФрд░ рдЕрдЬреНрдЮрд╛рдд рдкреНрд░рдЬреНрдЮрд╛ рдХреА рддрд░рд╣ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рдкреИрдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛)ред рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, #pragma рдЖрдкрдХреЛ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЛ рдЖрдпрд╛рдд / рдирд┐рд░реНрдпрд╛рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдлрд┐рд░ рд╕реНрд░реЛрдд рдХреЛрдб рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рджреЛрдиреЛрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдХреНрд░реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ (рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ) (рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЬреЛ рд╕реНрд░реЛрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдЪрд░рдг рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдЦрд╛рд▓реА рдореИрдХреНрд░реЛ рд╕реНрдЯрдм рд╣реЛрддрд╛ рд╣реИ)ред рдпрд╣ рдореБрджреНрджрд╛ рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рдмрдирд╛ рд╣реБрдЖ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдиреЗрддрд╛ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд▓реЗрдмрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
#pragma fx interface <interface_name>:<impl_version>
рдЬрд╣рд╛рдБ <interface_name> рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдирд╛рдо рд╣реИ, рдФрд░ <impl_version> рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рд╕рдВрд╕реНрдХрд░рдг, рд╕рдВрд╕реНрдХрд░рдг, рдЖрджрд┐) рдХреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрдиреВрдард╛ рд▓реЗрдмрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрди рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕рдорд╛рди рд╣реИ, interface_name рднрд╛рдЧ рдХреЛ рднреА рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рд╕рдорд╛рди рд▓реЗрдмрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреЗрд╡рд▓ fx рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдмрдЬрд╛рдп - fx рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред рд╣реЗрдбрд░ рдФрд░ рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рд▓реЗрдмрд▓ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ / рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╛рдЧрдореЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдЗрд╕реЗ рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА)ред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдШрдЯрдХ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣реЗрдбрд░ рдФрд░ sysn рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдПрдХ рд╣реА interface_name рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рд▓реЗрдмрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЗрд╕рдХреА рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ, рдХреЗрд╡рд▓ рд╣реЗрдбрд░ рдореЗрдВ #pragma fx рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реЛрдЧрд╛, рдФрд░ рд╕реНрд░реЛрдд рдореЗрдВ рдкреНрд░рд╛рдЧ fx рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛрдЧрд╛ред рдПрдХ рд╣реА рдШрдЯрдХ рдХреЗ рдПрдХ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдПрдХ рд╣реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде) рдореЗрдВ рдЗрд╕рдХреА рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рдорд╛рди рд▓реЗрдмрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд╕рдВрд╕реНрдХрд░рдг рдкрд╣рд▓реЗ рдШрдЯрдХ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╕реЗ рдЕрд▓рдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЖрджрд┐ред #Include рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХреБрдЫ рдХрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ред рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдореИрдХреНрд░реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
FX_INTERFACE(<interface>,<impl_version>)
рдпреЗ рдореИрдХреНрд░реЛрдВ рдХрд╣рд╛рдВ рд╕реЗ рдЖрддреЗ рд╣реИрдВ? рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдкрде рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдХрд┐рд╕реА рдмрд╛рд╣рд░реА рдЙрдкрдХрд░рдг рдХреЛ рдЙрдирдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрдирдореЗрдВ рдЗрди рд▓реЗрдмрд▓реЛрдВ рдХреЛ рдвреВрдВрдврдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕рднреА рдЧреНрд░рд╛рдлрд╝реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдлрд┐рд░ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдЬрдирд░реЗрдЯ рдХрд░рдиреА рд╣реЛрдЧреА рдЬрд┐рд╕рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдХреА рдореИрдкрд┐рдВрдЧ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд╛рдореЛрдВ рд╕реЗ рд╣реЛ рдФрд░ FX_INTERFACE рдореИрдХреНрд░реЛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЬрдмрд░рди рд╕рднреА рд╕рдВрдХрд▓рд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрдереЛрдВ рдХреЗ рд╕рдВрдХрд▓рдХ рдирд┐рд░реНрджреЗрд╢ INSTEAD рджреНрд╡рд╛рд░рд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдкрде рдореМрдЬреВрдж рд╣реИрдВ (рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреЛрдИ рднреА рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдорд┐рд╢реНрд░рдг рдХрд░рдиреЗ рд╕реЗ рдордирд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдорд╛рдирдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рд╕рд╛рдорд╛рдиреНрдп рдмреНрд░реИрдХреЗрдЯ рдХреЗ рд╕рд╛рде #)ред
рдореЙрдбреНрдпреВрд▓_рдП.рд╕реА рдореЗрдВ рд╕реНрдерд┐рдд рдХреБрдЫ рдореЙрдбреНрдпреВрд▓ рдП рдФрд░ рдореЙрдбреНрдпреВрд▓_ рдмреА рд╕реА рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдмреА, рд╕рд╛рде рд╣реА рдЙрдирдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЗрдбрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдореЙрдбреНрдпреВрд▓_ рдмреА.рдПрдЪ рдореЗрдВ рдореЙрдбреНрдпреВрд▓_рдП.рдПрдЪ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЗрдВрдЯрд░рдлреЗрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИред рдкрд╣рд▓реЗ рд╕рдиреНрдирд┐рдХрдЯрди рдореЗрдВ, рд╕рдм рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
тАж #pragma fx interface A:VER1
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ mod_a.c рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
#pragma fx implementation A:VER1
рдореЙрдбреНрдпреВрд▓ A рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ (рд╕рдВрджрд░реНрднрд┐рдд) рдореЙрдбреНрдпреВрд▓ B рдмрдирд╛рдПрдБ:
#include FX_INTERFACE(A, VER1) тАж #pragma fx interface B:VER1
рдлрд╝рд╛рдЗрд▓ "рдореЙрдбреНрдпреВрд▓_рдмреА.рд╕реА" рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдмреА рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди:
#include FX_INTERFACE(B, VER1) тАж #pragma fx implementation B:VER1
рдЗрд╕рд╕реЗ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЖрдк рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдкрд░ рд╕реНрд░реЛрдд рдирд┐рд░реНрднрд░рддрд╛ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд╛рд▓реЗ рд╣реЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рд╣реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЯреИрдЧ рд╡рд╛рд▓реЗ рд╕рднреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдлрд╝рд╛рдЗрд▓реЛрдВ (рдПрдХреНрд╕рдЯреЗрдВрд╢рди c рдпрд╛ cpr) рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЕрдм рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдФрд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЕрдЧрд░ рд╣рдореЗрдВ рдореЙрдбреНрдпреВрд▓_ рдмреА рд╕реА рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдВрдХрд▓рди рдФрд░ рдореЙрдбреНрдпреВрд▓_ рдП рд╕реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ? рдпрджрд┐ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рднреА рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рд╡рд╣ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдПрд╕-рдПрд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ #pragma fx рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реЛрддрд╛ рд╣реИ, рддреЛ, рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рд╛рде рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╕рднреА #pragma рдвреВрдБрдврдиреЗ рдкрд░, рдЖрдк рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдирд┐рд░реНрднрд░рддрд╛ рдореЙрдбреНрдпреВрд▓ (рд╕рднреА рдкрд╛рдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рд╕рднреА рдкрд╛рдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ)ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, preprocessor рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ mod_b.c рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╛рд╕ рдХрд░рдХреЗ, рд╣рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рдорд┐рд▓рддрд╛ рд╣реИ:
#pragma fx interface A:VER1 тАж #pragma fx interface B:VER1 тАж #pragma fx implementation B:VER1
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рд╕реЗ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдкрд╛рдардХреЛрдВ рдФрд░ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдЧрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ: рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЦреЛ рдЬрд╛рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП, рд╣реЗрдбрд░ рдкрд░ рд╕реНрд░реЛрддреЛрдВ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдмрд▓ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред
рдЕрдм рдореБрдЦреНрдп рд╕реНрдкрд░реНрд╢ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдорд╛рд░реЗ рд╕рднреА рд╢реЛрдзреЛрдВ рдХрд╛ рдореВрд▓ рдХрд╛рд░рдг рдерд╛ред рдпрджрд┐ рдЖрдк рдПрдУрдкреА рдпрд╛ рд╡реАрдЬреЗрдб - рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рдХреНрд▓рд╛рд╕рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдЖрдорддреМрд░ рдкрд░ рдореИрдХреНрд░реЛрдЬрд╝ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡реЗ рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЕрдХреНрд╖рдо рд╣реЛрддреЗ рд╣реИрдВред рдПрдХ рд╣реА рдЪрд╛рд▓ рдЕрдиреБрд░реЗрдЦрдг рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рд╡рд╛рд▓ рдкреВрдЫрдирд╛ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рдореЙрдбреНрдпреВрд▓ (рдЗрдВрдЯрд░рдлрд╝реЗрд╕) рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рд╣реЗрдбрд░ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдЖрдорддреМрд░ рдкрд░ рдХреБрдЫ рдЕрдореВрд░реНрдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред рдЗрд╕ рддрд░рд╣ рд▓реЗрдЦрди:
#include FX_INTERFACE(A, DEFAULT)
рд╣рдореЗрдВ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рдЕрдореВрд░реНрдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕реНрд░реЛрдд рд╕реНрддрд░ рдкрд░ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЙрдбреНрдпреВрд▓рд░ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рд╕реНрд░реЛрдд рдореЗрдВ рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд░рд╣ рдЬрд╛рддреА рд╣реИред
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЕрдореВрд░реНрдд рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд░рд┐рд╢реНрддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рд╣рд░реА рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ A: DEFAULT = A: VER1 рдЬреИрд╕реА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдЧреАред рдпрд╣ рдХреБрдЫ рдмрд╛рд╣рд░реА рдореИрдкрд┐рдВрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрдм, рдЗрд╕ рдореИрдкрд┐рдВрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрджрд▓рдХрд░, рд╣рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд╕рд╛рде рдХрд┐ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдореЗрдВ рдХреМрди рд╕реА рдлрд╝рд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╡рд╛рд▓рд╛ рдУрдЯреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ config рд╕реЗ рдЕрд▓рдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдХреБрдЫ рдЕрдВрддрд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред config.h рдпрд╣ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдпрд╣ рдХрд┐ рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рд╢рд╛рдпрдж рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рджреНрд╡рд╛рд░рд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛), рдФрд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЧреНрд░рд╛рдл рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдлрд╝рд╛рдЗрд▓ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд▓рд┐рдП, рд╡рд╣ рд╣реИ, рдЬрд┐рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╕реНрд░реЛрдд рд╕реЗ рд╣реА рдирд┐рдХрд╛рд▓реА рдЬрд╛рддреА рд╣реИрдВ рдФрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдХреЗ, рд╣рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЕрдкрд╡рд╛рдж рдмрд┐рдирд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреБрд▓реЛрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдШрдЯрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрд░реЛрддреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЦреБрдж рдХреЛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡рдлрд╛рджрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдРрд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХреЗрд╡рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреНрд░реА рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдПрдХ рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рд╕реНрд░реЛрдд рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдкреВрд░реНрдг рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рд╣реИ, рдЖрдк рдЙрдиреНрд╣реЗрдВ рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдФрд░ рджрд┐рди рдореЗрдВ рдХрдо рд╕реЗ рдХрдо 20 рдмрд╛рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓рдирд╛, рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓рдирд╛, рдореЗрдХрдлрд╛рдЗрд▓реНрд╕ рдореЗрдВ рдирдИ рджрд┐рдЦрд╛рдИ рдЧрдИ рдлрд╛рдЗрд▓реЗрдВ рджрд░реНрдЬ рдХрд░рдирд╛ рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдЕрдореВрд░реНрддрддрд╛ рдХреЗ рдЙрдЪрд┐рдд рд╕реНрддрд░ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк # ifdefs рдХреЛ рднреА рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд┐рд╕реНрдЯрдо "рдЦреБрд▓рд╛" рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдПрдХ рдЖрднрд╛рд╕реА рд╣реЗрдбрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рди рдХреЗрд╡рд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдереЗ, рдЬреИрд╕рд╛ рдХрд┐ #ifdef рдХреЗ рд╕рд╛рде рднреА рд╣реЛрдЧрд╛ред рдореИрдВ рд╕рднреА рд╕рдВрдХрд▓рдХ рдХреЗ рд╕рд╛рде рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕рдВрдЧрддрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдмреЛрд▓реВрдВрдЧрд╛: рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИред
рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╣реИред рдкреВрд░реА рдкреНрд░рдгрд╛рд▓реА рдШрдЯрдХреЛрдВ рдХрд╛ рдПрдХ рдлреНрд▓реИрдЯ рд╕реЗрдЯ рд╣реИ рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИред рд╡рд╛рд╕реНрддреБрдХрд▓рд╛, рдЙрдирдХреЗ рдмреАрдЪ рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ, рдФрд░ рдмрд╛рддрдЪреАрдд рдХреЗ рдПрдХ рдЧреНрд░рд╛рдл рдХреЗ рд░реВрдк рдореЗрдВ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрд╡рдпрд╡, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдЬреБрдбрд╝реЗ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ, рд╡реЗ рд╕рдВрднрд╡ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рд╕реНрд░реЛрдд рд╕реЗ рдирд┐рдХрд╛рд▓реА рдЬрд╛ рд╕рдХрддреА рд╣реИред рд╕рдмрдЧреНрд░рд╛рдл рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╕реНрддрд░ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдмрд╣реБрд░рдВрдЧреА рд╣рд▓рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИред
рдмреЗрд╢рдХ, рдлрд╛рдпрджреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдореИрдВ рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдХреБрдЫ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реВрдВрдЧрд╛: рдЗрдВрдЯрд░рдлреЗрд╕ рд╡реИрд╢реНрд╡рд┐рдХ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд рдЗрдХрдЯреНрдареЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдХреЗрд╡рд▓ 1 рдЙрджрд╛рд╣рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдирд╛рдо рдХрд╛ рдкрддреНрд░рд╛рдЪрд╛рд░ рдФрд░ рд▓реЗрдЦрдХ рдХреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рд╣реЗрдбрд░ рдХреА рд╕рд╛рдордЧреНрд░реАред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд░реВрдк рд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░реЗрдЧрд╛ (рдФрд░ рдпрд╣ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛)ред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдореЙрдбреНрдпреВрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рд╣реИред "рдЧрд▓рдд" рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рджреБрдЦрдж рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рд╕рдм рдХреБрдЫ рд╕рдВрдХрд▓рд┐рдд рд╣реЛред

рдПрдХ рдЕрдиреНрдп рдореБрджреНрджрд╛ рдЪрдХреНрд░реАрдп рдирд┐рд░реНрднрд░рддрд╛ рд╣реИред рджрд░рдЕрд╕рд▓, рдпрд╣ рд╕рдорд╕реНрдпрд╛ "рд╕рд╛рдорд╛рдиреНрдп" рд╕реА рдореЗрдВ рднреА рдореМрдЬреВрдж рд╣реИ, рдЬрдм рдХрдИ рд╣реЗрдбрд░ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВред рд╕рдорд╛рди рдирд┐рдпрдо рдпрд╣рд╛рдВ "рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ" рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдмрд╛рд╣рд░ рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рднреА #include FX_INTERFACE рдЕрдВрддрддрдГ рдирд╛рдо рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдк рдХрд░рддреЗ рд╣реИрдВ, рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд┐рд░ рд╕реЗ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рд╕реЗ рдмрдЪрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: Aifndef / # рдкрд░рд┐рднрд╛рд╖рд┐рдд рдпрд╛ # рдПрдХ рдмрд╛рд░ рд╕реНрдерд┐рддрд┐ рдЬрдм рджреЛ рдореЙрдбреНрдпреВрд▓ рдПрдХ-рджреВрд╕рд░реЗ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЛрдИ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдирд╣реАрдВ рд╣реЛрдЧреА, рдФрд░ рд╕рдВрднрд╡ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рд╕реВрдЪреА рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣ рд╣реИрдХ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ: рдПрдХ рд╣реА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХрдИ рдмрд╛рд░ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ , рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдореЗрдХрдлрд╛рдЗрд▓ рдореЗрдВ рдХрдИ рдмрд╛рд░ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП)ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, "рд╣рдо рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред"
рдЙрджрд╛рд╣рд░рдг
рдкрд░рдВрдкрд░рд╛ рд╕реЗ, рдПрдХ рд▓реЙрдЧрд┐рдВрдЧ рдпрд╛ рдХреБрдЫ рд╕рдорд╛рди рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд░рдЦрдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕реНрддрд░ рдкрд░ рдмрд╣реБрд░реВрдкрддрд╛ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИред рд╕реА рдореЗрдВ, рд░рди-рдЯрд╛рдЗрдо рдкреНрд░рдХрд╛рд░ рдирд┐рдпрдВрддреНрд░рдг рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рддрд░реАрдХреЗ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕рдВрднрд╛рд╡рд┐рдд рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рджрд┐рдП рдЧрдП рдереЗред рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХреНрд╖реЗрддреНрд░ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рдЧреИрд░-рддреБрдЪреНрдЫ рдореВрд▓реНрдп рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рдЪрд░рдг рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЬрд╛рдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдПрдХ рд╕реЗ рднрд┐рдиреНрди рдореВрд▓реНрдп рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╣рдореЗрдВ рдЧрд▓рдд рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБ рджреА, рдпрд╛ рдХрд╣реАрдВ рдФрд░ рдХрд┐рд╕реА рдФрд░ рдХреА рд╕реНрдореГрддрд┐ рдХреЛ рдорд┐рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рднреА рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕ рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдбрд╛рдпрдиреЗрдорд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдзрд┐рдпрд╛рдБ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХреБрдЫ рдЖрдХрд╛рд░реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рдФрд░ рдХрдо рдХрд░рдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрд╕рдВрднрд╡ рд╣реИред
рдЗрд╕ рддрдВрддреНрд░ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдВрднрд╡ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рджреМрд░рд╛рди, рдХреЗрд╡рд▓ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдореИрдЬрд┐рдХ рдорд╛рди рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдЗрд╕ рдлрд╝реАрд▓реНрдб рдХреЗ рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╣реИ, рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ "рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдореМрдЬреВрдж рд╡реИрдз рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдкреВрд▓" рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдХреБрдЫ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ "рдкреВрд▓" рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрдорд╛рдиреНрдп рд╣реИред
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ "рд╢рд╛рд╕реНрддреНрд░реАрдп" рддрд░реАрдХреЛрдВ рдореЗрдВ рдиреБрдХрд╕рд╛рди рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╕рдХреНрд╖рдо рдХрд░рдирд╛ / рдЕрдХреНрд╖рдо рдХрд░рдирд╛ #ifdef рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реА рдХреЛ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЕрднреА рднреА рдПрдХ рдирдпрд╛ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдирдП рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рд╡рд┐рдиреНрдпрд╛рд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЛ "рд╕рд┐рдЦрд╛рдпрд╛" рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рд╡рд┐рдиреНрдпрд╛рд╕ + рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВ)ред рдЖрдЗрдП рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП "рдУрдкрди" рд╕рд┐рд╕реНрдЯрдо рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред
рдЖрдЗрдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рдЕрд░реНрдерд╛рдд, рдЗрд╕рдХреЗ рд╣реЗрдбрд░ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рдореЗрдВ рдХреБрдЫ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕рд╛рде рд╣реА рдЗрд╕ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рд╕реЗрдЯ рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
typedef struct _runtime_protection { int magic_cookie; } runtime_protection, *pruntime_protection; void runtime_protection_init(pruntime_protection object, int cookie); int runtime_protection_check(pruntime_protection object, int cookie); #pragma fx interface RUNTIME_PROTECTION:VER1
рдЗрд╕рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпрджрд┐ рдХреЛрдИ рдРрд╕реЗ рд╣реЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрд┐рд▓реНрдб рдореЗрдВ рдЖ рдЬрд╛рдПрдЧрд╛ред "рдЗрдВрдЯрд░рдлрд╝реЗрд╕" рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╡реНрдпрд╛рдкрдХ рдЕрд░реНрде рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдУрдУрдкреА рд╢реИрд▓реА рдореЗрдВ рдПрдХ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИ: "рдЗрдВрдЯрд░рдлрд╝реЗрд╕" рдХрд╛ рдЕрд░реНрде рд╣реИ рдХреБрдЫ рд╕рдордЭреМрддреЗ, рдФрд░ рди рдХреЗрд╡рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдФрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ "рд░рдирдЯрд╛рдЗрдо_рдкреНрд░реЛрдЯреЗрдХреНрд╢рди" RUNTIME_PROTECTION рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдЗрд╕ рдкреНрд░реИрдЧ рдХреЗ рд╕рд╛рде рд╕рднреА рдкрд╛рдардХреЛрдВ рдХреЛ рдХрд┐рд╕реА рди рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ (рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдореЙрдбреНрдпреВрд▓ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
#include FX_INTERFACE(RUNTIME_PROTECTION, DEFAULT) enum { MAGIC_VALUE_SOME_OBJECT = 0x11223344 }; typedef struct some_object { int dummy; runtime_protection rtp; } some_object, *psome_object; #define some_object_as_rtp(so) (&((so)->rtp)) #pragma fx interface SOME_OBJECT:VER1
рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрд╕ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдмрд┐рдирд╛ рдпрд╣ рд╕реЛрдЪреЗ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рд╣реИрдВ рдФрд░ рд╡реЗ рдХрд╣рд╛рдБ рд╕реЗ рдЖрддреЗ рд╣реИрдВ:
#include FX_INTERFACE(SOME_OBJECT, VER1) #pragma fx implementation SOME_OBJECT:VER1 void some_object_init(psome_object object) { runtime_protection_init( some_object_as_rtp(object), MAGIC_VALUE_SOME_OBJECT); тАж } void some_object_method(psome_object object) { If(!runtime_protection_check( some_object_as_rtp(object), MAGIC_VALUE_SOME_OBJECT)) { //Error! Invalid object. } }
рдпрджрд┐ рд╣рдо рдкреНрд░рдХрд╛рд░ рдЬрд╛рдБрдЪ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рд╕реНрдЯрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
typedef struct _runtime_protection {} runtime_protection, *pruntime_protection; #define runtime_protection_init(obj, magic) #define runtime_protection_check (1) #pragma fx interface RUNTIME_PROTECTION:STUB
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рдорд╛рдирдХ рдирд╣реАрдВ рд╣реИ, рдХреБрдЫ рд╕реА рдХрдВрдкрд╛рдЗрд▓рд░ рд╢реВрдиреНрдп рдХреЗ рдмрд░рд╛рдмрд░ рдЦрд╛рд▓реА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЖрдХрд╛рд░ рдмрдирд╛рддреЗ рд╣реИрдВ (рдорд╛рдирдХ рд╕реЗ, рдЖрдХрд╛рд░ рдХрд╛ рдЖрдХрд╛рд░ рд╢реВрдиреНрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рдПрдХ рд╣реА рдорд╛рдирдХ рджреНрд╡рд╛рд░рд╛, рд╕реА рдореЗрдВ рдПрдХ рдЦрд╛рд▓реА рд╕рдВрд░рдЪрдирд╛ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИ)ред рдпрджрд┐ рдорд╛рдирдХ рдХреЗ рдЕрдХреНрд╖рд░ рдХрд╛ рд╕рдЦреНрдд рдкрд╛рд▓рди рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рдЖрдк рдпрд╛ рддреЛ рд╕рдВрд░рдЪрдирд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХреЛ рдПрдХ рдореИрдХреНрд░реЛ рдХреЗ рд╕рд╛рде рд▓рдкреЗрдЯ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдХреБрдЫ рдУрд╡рд░рд╣реЗрдб рдХреЗ рд╕рд╛рде рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд╣рд╛рдВ рдЗрдВрдЯ рдбрдореА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдпрджрд┐ рдХрд┐рд╕реА рд╕реНрдЯрдм рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрд┐рд╕реА рднреА рдЪреЗрдХ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рд▓рд┐рдкрдЯреА рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ (рд╕рддреНрдп) рдЬреИрд╕реЗ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛, рдЬрд┐рд╕реЗ рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдм рдЖрдк рдРрд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЬреЛ рд╕реНрд░реЛрдд рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рдХреЗрд╡рд▓ рдкреНрд░рджрд░реНрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрджрд▓рдХрд░, рд╕рдВрдХрд▓рди рдФрд░ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд▓рд┐рдП рд╣реЗрдбрд░ рдФрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рджреЛрдиреЛрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрджрд▓ рдЬрд╛рдПрдЧреАред
FX рдбреАрдЬреЗ
рд╣рдорд╛рд░реЗ рд╢реЛрдз рдХрд╛ рд╕рдорд╛рдкрди (рдЬреЛ, рдЗрд╕ рд╕рдордп, рдЬрдирддрд╛ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) рдПрдлрдПрдХреНрд╕-рдбреАрдЬреЗ рдЯреВрд▓ рдерд╛, рдПрдлрдПрдХреНрд╕ - рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдлрдПрдХреНрд╕-рдЖрд░рдЯреАрдУрдПрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд░рд╛рджрд╛ рдерд╛ - рд╣рдорд╛рд░реА рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛, рдФрд░ рд╕рднреА рдЙрдкрдХрд░рдг рдПрдлрдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рдЙрдкрд╕рд░реНрдЧ рдХрд┐рдП рдЧрдП рдереЗ (рдУрдПрд╕ рдЦреБрдж рдХреНрдпреЛрдВ рд╣реИ) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдФрд░ рдмрд╛рддрдЪреАрдд рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ)ред рдареАрдХ рд╣реИ, рдФрд░ рдбреАрдЬреЗ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд╛ рдЕрд░реНрде рд╣реИ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдХреНрд╖реЗрддреНрд░, рдФрд░ рдбреАрдЬреЗ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреАрдЬреЗ рдХреЗ рд╕рд╛рде рдЕрднреА рднреА рдХреБрдЫ рд╕рдорд╛рдирддрд╛рдПрдВ рд╣реИрдВред
рдпрд╣ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрд╕реЗрдВрдмрд▓реА рдЪрд░рдг рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕рдВрдХрд▓рди рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЪрд░рдг, рдЬрдм рдХреБрдЫ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреБрдЫ рд╕рд╛рд░ рд╕реНрд░реЛрдд-рдкреВрд▓ рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЗрдХрдЯреНрдареЗ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╡реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░ рд╕рдВрдХрд▓рди рдФрд░ рд▓рд┐рдВрдХрд┐рдВрдЧ рдЪрд░рдгред рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдХреБрдЫ рдмрд╛рд╣рд░реА рдЙрдкрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдлреНрд▓реИрдЯ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рдореЗрдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИред
рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдПрд▓рд┐рдпрд╛рд╕ рдлрд╛рдЗрд▓реЗрдВ рд╡рд╣реА рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ рдЬреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдореИрдк рдХрд░рддреА рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред рдЯрд╛рд░рдЧреЗрдЯ рдЯрд╛рд░рдЧреЗрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ, рдЬреЛ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдкреЗрдбрд╝ рдХреА рдЬрдбрд╝ рдореЗрдВ рд╣реИред
рдЕрдм рддрдХ, рдпрд╣ рд╕рдм рдПрдХ рдХреЙрдореНрдкреИрдХреНрдЯ рдкрд╛рдпрдерди 2.7 рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдХрд┐рдЯ рдореЗрдВ рдкреА 2 рдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкрд╛рдпрдерди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред рдЙрдкрдХрд░рдг рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд рдмреАрдПрд╕рдбреА-рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдореБрдлреНрдд рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджреНрдпрдкрд┐ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╣реА рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛ рдЪреБрдХрд╛ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рдм рдХреБрдЫ рдЕрднреА рднреА рдЕрд▓реНрдлрд╛-рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ, рдХрдВрдкрдиреА рдХрд╛ рдмреНрд▓реЙрдЧ рдЦрд░реАрджрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдм рд╣рдо рдХреЗрд╡рд▓ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рд▓рд┐рдВрдХ рдмрд╛рдж рдореЗрдВ рд╣реЛрдВрдЧреЗред
рдпрджрд┐ рд╡рд┐рд╖рдп рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдПрдлрдПрдХреНрд╕-рдЖрд░рдЯреАрдУрдПрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛: рд╣рдореЗрдВ "рдЕрдиреНрдп" рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдЗрд╕рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рдЪрд╛рд░, "рд▓рд┐рдирдХреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрд╛", рдЖрджрд┐ред
рдирд┐рд╖реНрдХрд░реНрд╖
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, C / C ++ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╡рд┐рд╖рдп рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, C ++ рдорд╛рдирдХреАрдХрд░рдг рд╕рдорд┐рддрд┐ рдореЗрдВ рдЙрди рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░
LLVM рдореЗрдВ рдЙрдирдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП Apple рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдкреЛрд╕реНрдЯ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдкрд░ рдПрдХ рдФрд░ рдирдЬрд╝рд░ рдбрд╛рд▓рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдмрддрд╛рддреА рд╣реИред рдкрд░рд┐рдгрд╛рдореА рд╕рдВрд╕реНрдХрд░рдг, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХреБрдЫ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рднрд╛рд╖рд╛ рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд╛рдХреНрдпрд╛рддреНрдордХ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕реЗ рдЕрдм рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛: рд╕реНрд░реЛрдд рд╕реНрддрд░ рдкрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдирд╛, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛, рд╕рдорд╛рд╡реЗрд╢ / рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд┐рдирд╛ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЕрдХреНрд╖рдо / рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛, рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо, рдорд╛рдирдХ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд 100% рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд┐рдпрдВрддреНрд░рдгред рдЖрджрд┐
рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред