рдЫрдард╛ рдХреНрд░реЛрдорд┐рдпрдо рдЪреЗрдХ, рдЖрдлреНрдЯрд░рд╡рд░реНрдб

рдЧрдВрднреАрд░ рдЧреЗрдВрдбрд╛

2018 рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдорд╛рд░рд╛ рдмреНрд▓реЙрдЧ рдХреНрд░реЛрдорд┐рдпрдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдЫрдареЗ рдЪреЗрдХ рдкрд░ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рд╛рде рдкреВрд░рдХ рдерд╛ред рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЙрдирдХреА рд░реЛрдХрдерд╛рдо рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдкрд░ 8 рд▓реЗрдЦ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рджреЛ рд▓реЗрдЦреЛрдВ рдиреЗ рдЪрд░реНрдЪрд╛ рдХреЛ рдЧрд░реНрдо рдХрд░ рджрд┐рдпрд╛, рдФрд░ рдПрд▓ рдЕрднреА рднреА рдХрднреА-рдХрднреА рдЙрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╡рд┐рд╖рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рд╢рд╛рдпрдж, рдореБрдЭреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╕реАрдзреЗ рд╕реЗрдЯ рдХрд░реЗрдВред

рдХреНрд░реЛрдорд┐рдпрдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рдирд┐рдпрдорд┐рдд рдЬрд╛рдВрдЪ рдкрд░ рд▓реЗрдЦреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдПрдХ рд╡рд░реНрд╖ рдмреАрдд рдЪреБрдХрд╛ рд╣реИ:

  1. рдХреНрд░реЛрдорд┐рдпрдо: рдЫрдареА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд╛рдБрдЪ рдФрд░ 250 рдХреАрдбрд╝реЗ
  2. рдЕрдЪреНрдЫрд╛ рдХреНрд░реЛрдорд┐рдпрдо рдФрд░ рдЕрдирд╛рдбрд╝реА Memset
  3. рдЯреВрдЯрдирд╛ рдФрд░ рдЧрд┐рд░рдирд╛
  4. рдХреНрд░реЛрдорд┐рдпрдо: рдореЗрдореЛрд░реА рд▓реАрдХ
  5. рдХреНрд░реЛрдорд┐рдпрдо: рдЯрд╛рдЗрдкреЛ
  6. рдХреНрд░реЛрдорд┐рдпрдо: рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ
  7. рдХреНрдпреЛрдВ рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдореЙрд▓реЛрдХ рдлрд╝рдВрдХреНрд╢рди рдХреНрдпрд╛ рд▓реМрдЯрд╛
  8. рдХреНрд░реЛрдорд┐рдпрдо: рдЕрдиреНрдп рддреНрд░реБрдЯрд┐рдпрд╛рдВ

рд╕реНрдореГрддрд┐рдпреЛрдВ рдФрд░ рдорд▓реНрд▓реЛрдХ рдХреЛ рд╕рдорд░реНрдкрд┐рдд рд▓реЗрдЦреЛрдВ рдиреЗ рдмрд╣рд╕реЗрдВ рдкреИрджрд╛ рдХреА рд╣реИрдВ рдФрд░ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ, рдЬреЛ рдореБрдЭреЗ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХреБрдЫ рднреНрд░рдо рдерд╛ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдореМрдЦрд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╕рдордп рдЕрдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╕рдЯреАрдХ рдерд╛ред рдореИрдВрдиреЗ рдЙрди рд▓реЗрдЦреЛрдВ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдФрд░ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

memset


рдЪрд▓рд┐рдП рд╢реБрд░реБрдЖрдд рдХрд░рддреЗ рд╣реИрдВ рдПрдХ рд▓реЗрдЦ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдБ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд╕рд░реНрд╡реЛрддреНрддрдо рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рддрд░реНрдХ рджрд┐рдЦрд╛рдИ рджрд┐рдПред рдмрд╣реБрдд рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдиреЗ рд▓рд┐рдЦрд╛ рдХрд┐ рд╕рд▓рд╛рд╣ рджреЗрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдХрд┐ рди рд▓рд┐рдЦреЗрдВ:

HDHITTESTINFO hhti = {}; 

рд▓реЗрдХрд┐рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП:

 HDHITTESTINFO hhti = { 0 }; 

рдХрд╛рд░рдг:

  1. {} рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдХреЛрдб рдкрдврд╝рддреЗ рд╕рдордп рдирд┐рд░реНрдорд╛рдг {0} рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред
  2. {} рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдирд┐рд░реНрдорд╛рдг {0} рдЕрдзрд┐рдХ рд╕рд╣рдЬ рдЬреНрдЮрд╛рди рдпреБрдХреНрдд рд╣реИред рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ, 0 рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрд░рдЪрдирд╛ рд╢реВрдиреНрдп рд╕реЗ рднрд░реА рд╣реБрдИ рд╣реИред

рддрджрдиреБрд╕рд╛рд░, рдкрд╛рдардХреЛрдВ рдиреЗ рдореБрдЭреЗ рд▓реЗрдЦ рдореЗрдВ рдЗрд╕ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдЙрджрд╛рд╣рд░рдг рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИред рдореИрдВ рддрд░реНрдХреЛрдВ рд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдВ рдФрд░ рд▓реЗрдЦ рдореЗрдВ рдХреЛрдИ рднреА рд╕рдВрдкрд╛рджрди рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред рдЕрдм рдореИрдВ рдЕрдкрдиреА рд░рд╛рдп рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдФрд░ рдХреБрдЫ рдХрд╛рд░рдг рдмрддрд╛рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБред

рджреГрд╢реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рд╕реНрд╡рд╛рдж рдФрд░ рдЖрджрдд рдХреА рдмрд╛рдд рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХреЛрд╖реНрдардХ рдХреЗ рдЕрдВрджрд░ 0 рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓ рджреЗрддреА рд╣реИред

рджреВрд╕рд░реЗ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕рд╕реЗ рдкреВрд░реА рддрд░рд╣ рдЕрд╕рд╣рдордд рд╣реВрдВред рдЯрд╛рдЗрдк {0} рдХрд╛ рд░рд┐рдХреЙрд░реНрдб рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдХреЛрдб рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдХрд╛рд░рдг рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рдЖрдк 0 рдХреЛ 1 рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рдлрд╝реАрд▓реНрдб рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП, рд▓реЗрдЦрди рдХреА рдРрд╕реА рд╢реИрд▓реА рд╕рд╣рд╛рдпрдХ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╣рд╛рдирд┐рдХрд╛рд░рдХ рд╣реЛрдиреЗ рдХреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред

рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ V1009 рднреА рд╣реИ , рдЬрд┐рд╕рдХрд╛ рд╡рд┐рд╡рд░рдг рдиреАрдЪреЗ рдЙрджреНрдзреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

V1009ред рд╕рд░рдгреА рдЖрд░рдВрднреАрдХрд░рдг рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рддрддреНрд╡ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрд░рдВрднрд┐рдХ рд╣реИред

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

рдЖрдЗрдП рд╕рдВрджрд┐рдЧреНрдз рдХреЛрдб рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

 int arr[3] = {1}; 

рд╢рд╛рдпрдж рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЧрд┐рд░рдлреНрддрд╛рд░реА рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рд╕рд░рдгреА рдореЗрдВ 1, 0, 0 рдорд╛рди рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗред

рд╕рд╣реА рдХреЛрдб:

 int arr[3] = {1, 1, 1}; 

рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдЕрд░реЗрд╕реНрдЯ = {0} рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирддрд╛ рдХреЗ рдХрд╛рд░рдг рдРрд╕рд╛ рднреНрд░рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рдкреВрд░реЗ рдПрд░реЗ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдРрд╕реЗ рдирд┐рд░реНрдорд╛рдг рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рдирд┐рджрд╛рди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо рдЖрдкрдХреЗ рдХреЛрдб рдХреА рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рднреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рд░рдВрдЧ рдХреЗ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдорд╛рди рдХреЗ рд▓рд┐рдП рдХреЛрдб рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 int White[3] = { 0xff, 0xff, 0xff }; int Black[3] = { 0x00 }; int Green[3] = { 0x00, 0xff }; 

рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЖрд░рдВрдн рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╕рднреА рд░рдВрдЧ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЛрдб рдХреЛ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд▓рд┐рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ:

 int White[3] = { 0xff, 0xff, 0xff }; int Black[3] = { 0x00, 0x00, 0x00 }; int Green[3] = { 0x00, 0xff, 0x00 }; 

malloc


рдЖрдЧреЗ рдкрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдХреГрдкрдпрд╛ рд▓реЗрдЦ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВ " рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдореЙрд▓реЛрдХ рдлрд╝рдВрдХреНрд╢рди рдХреНрдпрд╛ рд▓реМрдЯрд╛ рд╣реИ "ред рдЗрд╕ рд▓реЗрдЦ рдиреЗ рдмрд╣реБрдд рдмрд╣рд╕ рдФрд░ рдЖрд▓реЛрдЪрдирд╛ рдХреЛ рдЬрдиреНрдо рджрд┐рдпрд╛ рд╣реИред рдпрд╣рд╛рдБ рдХреБрдЫ рдЪрд░реНрдЪрд╛рдПрдБ рд╣реИрдВ: reddit.com/r/cpp , reddit.com/r/C_Programming , habr.com (en)ред рдХрднреА-рдХрднреА рдкрд╛рдардХ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдИ-рдореЗрд▓ рдХрд░рддреЗ рд╣реИрдВред

рд▓реЗрдЦ рдХреА рдЖрд▓реЛрдЪрдирд╛ рдкрд╛рдардХреЛрдВ рдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП рдХреА рд╣реИ:

1. рдпрджрд┐ рдореЙрд▓реЙрдХ рдиреЗ рдирд▓ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ , рддреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рддреБрд░рдВрдд рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдЕрдЧрд░ -s рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд▓рд┐рдЦрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рдореЗрдореЛрд░реА рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд┐рд╖реНрдкрд╛рджрди рдЕрдХреНрд╕рд░ рд╡реИрд╕реЗ рднреА рдЕрд╕рдВрднрд╡ рд╣реИред

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

рдореИрдВрдиреЗ рдЖрдкрддреНрддрд┐ рдЬрддрд╛рдИ рдФрд░ рдЪреЗрдХреЛрдВ рдХреА рдХрдореА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рджреА рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реБрдЖ рдерд╛ред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдорд╛рдорд▓рд╛ рд╣реИред рдпрд╣ рдЦрддрд░рдирд╛рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░, рдбреЗрдЯрд╛ рднреНрд░рд╖реНрдЯрд╛рдЪрд╛рд░, рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред

2. рдПрдХ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдХреЛрдИ рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рд╣реИ рдЬреЛ рдХрд┐ рдПрдХ рдЪреЗрдХ рдХреЗ рд╕рд╛рде рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд░рдг рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ xmalloc ред

рд╕рд╣рдордд, рдореИрдВ рдЗрд╕ рдмрд┐рдВрджреБ рд╕реЗ рдЪреВрдХ рдЧрдпрд╛ред рд▓реЗрдЦ рд▓рд┐рдЦрддреЗ рд╕рдордп рдореИрдВ рд╕реНрдерд┐рддрд┐ рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ред рдЪреЗрдХ рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдЦрддрд░реЗ рд╕реЗ рдкрд╛рдардХ рдХреЛ рдЕрд╡рдЧрдд рдХрд░рд╛рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдерд╛ред рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХреИрд╕реЗ рдХрд░реЗрдВ рд╕реНрд╡рд╛рдж рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рдХрд╛ рдкреНрд░рд╢реНрди рд╣реИред

Xmalloc functionis рдорд╛рдирдХ C рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИ (рджреЗрдЦреЗрдВ " xmalloc рдФрд░ malloc рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИ? ")ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреАрдПрдирдпреВ рдмрд░реНрддрдиреЛрдВ рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА ( рдЬреАрдПрдирдпреВ рд▓рд┐рдмреНрд░реАрдЯреА ) рдореЗрдВред

рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдореБрдЦреНрдп рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдореЗрдореЛрд░реА рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕рдорд╛рд░реЛрд╣ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

 void* xmalloc(size_t s) { void* p = malloc(s); if (!p) { fprintf (stderr, "fatal: out of memory (xmalloc(%zu)).\n", s); exit(EXIT_FAILURE); } return p; } 

рддрджрдиреБрд╕рд╛рд░, рд╣рд░ рдмрд╛рд░ рдореЙрд▓реЛрдХ рдХреЗ рдмрдЬрд╛рдп xmalloc рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ, рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдЕрд╢рдХреНрдд рд╡реНрдпрд╡рд╣рд╛рд░ рдПрдХ рдЕрд╢рдХреНрдд рд╕реВрдЪрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, xmalloc рдПрдХ рдЗрд▓рд╛рдЬ рдирд╣реАрдВ рд╣реИ-рд╕рднреА рдпрд╛ рддреЛред рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдмрд╛рдд рдЖрдиреЗ рдкрд░ xmalloc рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред

3. рдЕрдзрд┐рдХрд╛рдВрд╢ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдереАрдВ: "рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдорд▓реНрд▓реЛрдХ рдХрднреА рднреА рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ ред"

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдирд╣реАрдВ рд╣реВрдВ, рдЬреЛ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЧрд▓рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИред рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реЗ рд╕рдорд░реНрдерди рдореЗрдВ рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рдкрд╕рдВрдж рдЖрдИ:

рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореБрдЭреЗ рдпрд╣ рдорд╣рд╕реВрд╕ рд╣реБрдЖ рд╣реИ рдХрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдореЗрдВ рджреЛ рд╕рдВрдкреНрд░рджрд╛рдп рд╣реИрдВред рдкрд╣рд▓реЗ рдПрдХ рдХреЗ рдЕрдиреБрдпрд╛рдпрд┐рдпреЛрдВ рдХрд╛ рджреГрдврд╝рддрд╛ рд╕реЗ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдореЙрд▓реЛрдХ рд▓рд┐рдирдХреНрд╕ рдХреЗ рддрд╣рдд NULL рдХреЛ рдХрднреА рдирд╣реАрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рджреВрд╕рд░реЗ рдПрдХ рдХреЗ рд╕рдорд░реНрдердХреЛрдВ рдиреЗ рдкреВрд░реЗ рджрд┐рд▓ рд╕реЗ рджрд╛рд╡рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рддреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдк рдХреЗрд╡рд▓ рджреБрд░реНрдШрдЯрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдордирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИред рдЦрд╛рд╕рддреМрд░ рдкрд░ рддрдм рдЬрдм рдпреЗ рджреЛрдиреЛрдВ рд╕рдВрдкреНрд░рджрд╛рдп рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдХрд╛рдЯрддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕реЗ рдХреЗрд╡рд▓ рджрд┐рдП рдЧрдП рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд┐рд╕ рд╡рд┐рд╢реЗрд╖ рд╕рдВрд╕рд╛рдзрди рдкрд░ рдЪрд░реНрдЪрд╛ рд╣реЛрддреА рд╣реИред

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

рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдорд╛рдпрдиреЗ рд░рдЦрддреА рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрддреНрдпрдзрд┐рдХ рдирд┐рд░реНрднрд░ рдХреЛрдб рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдкреАрд▓


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

рдпрджрд┐ рд╕реНрдореГрддрд┐ рдЖрдмрдВрдЯрди рд╡рд┐рдлрд▓ рд╣реБрдЖ, рддреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ, рдЖрдк рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддреЗред рдЙрд╕реА рдХрд╛рд░рдг рд╕реЗ, рдЖрдк xmalloc рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдЧрд░реНрднрдкрд╛рдд рдХрд░рдирд╛ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рджреВрд╖рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреЛрдИ рдбреЗрдЯрд╛ рдЦреЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрдИ рдШрдВрдЯреЛрдВ рддрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ "рд╕реЗрд╡рд╛ рд╕реЗ рд╡рдВрдЪрд┐рдд" рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдм, рдмрдврд╝рддреЗ рдХрд╛рд░реНрдпрднрд╛рд░ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрд╕ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

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

рдХрд┐рд╕реА рднреА рдШрдЯрдирд╛ рдореЗрдВ рдореЙрд▓реЙрдХ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕реНрдореГрддрд┐ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред рдХрд┐рд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдФрд░ рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реЛрдЧрд╛, рдЗрд╕рдХреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдПрдХ рдордВрдЪ рдкрд░ рдХрдо рдореЗрдореЛрд░реА рдХреА рд╕реНрдерд┐рддрд┐ рд╡рд┐рджреЗрд╢реА рд╣реИ, рддреЛ рдпрд╣ рджреВрд╕рд░реЗ рдкрд░ рдХрд╛рдлреА рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред

рд╣рдо рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХрд┐ рдЕрдЧрд░ рдореЙрд▓реЙрдХ NULL рд▓реМрдЯрд╛рддрд╛ рд╣реИ , рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЕрд╢рдХреНрдд рдкрддреЗ рджреНрд╡рд╛рд░рд╛ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдХреБрдЫ рдбреЗрдЯрд╛ рджреВрд╖рд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдпрд╛рджрджрд╛рд╢реНрдд рднреА рдЦрддрд░рдирд╛рдХ рд╣реИред рдпрджрд┐ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкреИрдбрд┐рдВрдЧ рд░рд┐рд╡рд░реНрд╕ рдСрд░реНрдбрд░ рдореЗрдВ рдЬрд╛рддреА рд╣реИ, рддреЛ рдкрд╣рд▓реЗ рдХреБрдЫ рдбреЗрдЯрд╛ рджреВрд╖рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рджреБрд░реНрдШрдЯрдирд╛ рдмрд╣реБрдд рджреЗрд░ рд╕реЗ рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрджрд┐ рдЯреЗрдВрдЯреЗрдб рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдорд╛рдирд╛рдВрддрд░ рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдореЗрдорд╕реЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдкрд░рд┐рдгрд╛рдо рдШрд╛рддрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рднреНрд░рд╖реНрдЯ рд▓реЗрдирджреЗрди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ "рдЕрдирд╛рд╡рд╢реНрдпрдХ" рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рдЪреАрдЬ рдХреЛ рд╣реЛрдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓рддрд╛ рд╣реИред рдореИрдВ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рд╕рдкрдиреЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рдардХ рдХреЛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рд╕реНрдореГрддрд┐ рдореЗрдВ рдХрдЪрд░реЗ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдкрд╛рд╕ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИ рд▓рд╛рдЗрдмреНрд░реЗрд░реАред рдЖрдкрдХреЛ IMMEDIATELY рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдпрд╣ NULL рд╣реИ, рддреЛ рддреНрд░реБрдЯрд┐ рд╕реНрдерд┐рддрд┐ рд▓реМрдЯрд╛рдПрдВред

рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд┐рдВрдХ


  1. OOM рд╣реИрдВрдбрд▓рд┐рдВрдЧ
  2. рдкреВрд░реНрдг рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд╕рд╛рде рдордЬрд╝рд╛: рднрд╛рдЧ 1 , рднрд╛рдЧ 2
  3. рдкреНрд░рддреНрдпреЗрдХ рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП: рднрд╛рдЧ 1 , рднрд╛рдЧ 2 , рднрд╛рдЧ 3

Source: https://habr.com/ru/post/hi438756/


All Articles