PVS-Studio: рд╣рдо ReactOS рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ

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

рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдмреЗрд╣рддрд░ рдФрд░ рдмреЗрд╣рддрд░ рд╣реЛ рд░рд╣рд╛ рд╣реИ


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

рд░рд┐рдПрдХреНрдЯреЛрд╕ рдХреНрдпрд╛ рд╣реИ?


рд░рд┐рдПрдХреНрдЯреЛрд╕ рд╡рд┐рдВрдбреЛрдЬ рдПрдХреНрд╕рдкреА / 2003 рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдЖрдзреБрдирд┐рдХ, рдореБрдлреНрдд рдФрд░ рдЦреБрд▓рд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рд╡рд┐рдВрдбреЛрдЬ-рдПрдирдЯреА рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗ рдПрдкреНрд▓реАрдХреЗрд╢рди рд╕реНрддрд░ рддрдХ рджреЛрд╣рд░рд╛рдирд╛ рдерд╛ред C, C ++ рдФрд░ рдХреЛрдбрд╛рдВрддрд░рдХ рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рд▓рдЧрднрдЧ 220 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рд╣реИред

рд╡рд┐рднрд┐рдиреНрди рд▓рд┐рдВрдХ:

рд░рд┐рдПрдХреНрдЯреЛрд╕ рдореЗрдВ рдХреАрдбрд╝реЗ


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

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

ReactOS рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐рдпрд╛рдБ рд╡рд┐рд╡рд┐рдз рд╣реИрдВред рдмрд╕ рдПрдХ рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рд╣реИред рдПрдХ рдПрдХрд▓ рдЪрд░рд┐рддреНрд░ рд╕реЗ рдЯрд╛рдЗрдкреЛ рд╣реИрдВред
BOOL WINAPI GetMenuItemInfoA(...) { ... mii->cch = mii->cch; ... } 

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: "mii-> cch = miiW-> cch;"ред 'W' рдЕрдХреНрд╖рд░ рдЦреЛ рджрд┐рдпрд╛ред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЕрдм GetMenuItemInfoA рдлрд╝рдВрдХреНрд╢рди рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдФрд░ рдпрд╣рд╛рдБ рдПрдХ рдЪрд░рд┐рддреНрд░ рдореЗрдВ рдПрдХ рдФрд░ рдЯрд╛рдЗрдкреЛ рд╣реИред рдЗрд╕ рдмрд╛рд░, рджреЛ рдирд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИред
 static void _Stl_loc_combine_names(_Locale_impl* L, const char* name1, const char* name2, locale::category c) { if ((c & locale::all) == 0 || strcmp(name1, name1) == 0) ... } 

&& рдФрд░ рдСрдкрд░реЗрдЯрд░ рдХреЗ рдмреАрдЪ рднреНрд░рдо рд╣реЛрддрд╛ рд╣реИред рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддреАред рдореИрдВ рд▓рдЧрднрдЧ рд╣рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рд╡реЗ рдмрд┐рдЯреНрд╕ рдпрд╛ рдлрд╝рд╛рдЗрд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
 static LRESULT APIENTRY ACEditSubclassProc() { ... if ((This->options && ACO_AUTOSUGGEST) && ((HWND)wParam != This->hwndListBox)) ... } 

рд╕рд╣реА рдХреЛрдб "(рдпрд╣-> рд╡рд┐рдХрд▓реНрдк рдФрд░ ACO_AUTOSUGGEST)" рдЬреИрд╕рд╛ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдкреВрд░реА рд╕реНрдерд┐рддрд┐ рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реЛрддреА рд╣реИред
 void adns__querysend_tcp(adns_query qu, struct timeval now) { ... if (!(errno == EAGAIN || EWOULDBLOCK || errno == EINTR || errno == ENOSPC || errno == ENOBUFS || errno == ENOMEM)) { ... } 

рдпрджрд┐ рдЖрдк рдмрд╛рд░реАрдХреА рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдХрдкрдЯреА рдЯреБрдХрдбрд╝реЗ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: "|| EWOULDBLOCK ||"

рд╡реИрд╕реЗ, рд░рд┐рдПрдХреНрдЯреЛрд╕ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдереАрдВ рдЬреЛ рд╣рдореЗрд╢рд╛ рд╕рдЪ рдпрд╛ рдЧрд▓рдд рд╣реЛрддреА рд╣реИрдВред рдХреБрдЫ рднрдпрднреАрдд рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗ рдореБрдЦрд░ () рдореИрдХреНрд░реЛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВред рд▓реЗрдХрд┐рди рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред
 INT WSAAPI connect(IN SOCKET s, IN CONST struct sockaddr *name, IN INT namelen) { ... /* Check if error code was due to the host not being found */ if ((Status == SOCKET_ERROR) && (ErrorCode == WSAEHOSTUNREACH) && (ErrorCode == WSAENETUNREACH)) { ... } 

рд╕рд╣рдордд рд╣реВрдБ рдХрд┐ "рдХрдиреЗрдХреНрдЯ" рдЬреИрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдпрд╣рд╛рдБ рд╣рдорд╛рд░реА рдПрдХ рд╢рд░реНрдд рд╣реИ рдЬреЛ рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реЛрддреА рд╣реИред рдЬрд▓реНрджреА рд╕реЗ рдПрдХ рдЬрдЧрд╣ рдЦреЛрд▓рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рд░ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░реВрдВрдЧрд╛:
 (ErrorCode == 10065) && (ErrorCode == 10051) 

рд╡реИрд╕реЗ, рд╕реЙрдХреЗрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣рд┐рд╕реНрд╕рд╛ рдЖрдо рддреМрд░ рдкрд░ рдХрдЪреНрдЪрд╛ рджрд┐рдЦрддрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд▓рд┐рдирдХреНрд╕ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ SOCKET рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╕рдВрдХреЗрдд рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдкрд░, рдпрд╣ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд╣реИ:
 typedef UINT_PTR SOCKET; 

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддреБрд▓рдирд╛рддреНрдордХ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ:
 void adns_finish(adns_state ads) { ... if (ads->tcpsocket >= 0) adns_socket_close(ads->tcpsocket); ... } 

рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ "рд╡рд┐рдЬреНрдЮрд╛рдкрди-> tcpsocket> = 0" рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИред

рдмрд╕ рд╡рд┐рдЪрд┐рддреНрд░ рдЕрдВрд╢ рд╣реИрдВред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпреЗ рдХреЛрдб рдХреЗ рдЕрдзреВрд░реЗ рдФрд░ рднреВрд▓ рдЧрдП рдЕрдиреБрднрд╛рдЧ рд╣реИрдВред
 if (ERROR_SUCCESS == hres) { Names[count] = HeapAlloc(GetProcessHeap(), 0, strlenW(szValue) + 1); if (Names[count]) strcmpW(Names[count], szValue); } 

рдпрджрд┐ рдкрд░рд┐рдгрд╛рдо рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ "strcmpW" рдХреНрдпреЛрдВ рдХрд╣реЗрдВ?

рд╕рдВрдЪрд╛рд▓рди рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред
 VOID NTAPI AtapiDmaInit(...) { ... ULONG treg = 0x54 + (dev < 3) ? (dev << 1) : 7; ... } 

рдореИрдВ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЪрд╛рд░реЛрдВ рдУрд░ рдХреЛрд╖реНрдардХ рд▓рдЧрд╛рдПрдВрдЧреЗ:
 ULONG treg = (0x54 + (dev < 3)) ? (dev << 1) : 7; 

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐ рдХрд┐рд╕реА рднреА рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд░рд┐рдПрдХреНрдЯреЛрд╕ рдореЗрдВ рдПрдХ рдпреБрдЧрд▓ рд╣реИрдВред рдпрд╣ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рд╣реИ - ';'ред
 BOOLEAN CTEScheduleEvent(PCTE_DELAYED_EVENT Event, PVOID Context) { ... if (!Event->Queued); { Event->Queued = TRUE; Event->Context = Context; ExQueueWorkItem(&Event->WorkItem, CriticalWorkQueue); } ... } 

рдореБрдЭреЗ рд╕рд░рдгреА рддрддреНрд╡реЛрдВ рдХреЛ рдЖрд░рдВрднреАрдХреГрдд рдХрд░рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рднреА рдкрд╕рдВрдж рд╣реИрдВред рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рдХреНрдпреЛрдВ рд╡реЗ рдЫреВ рд░рд╣реЗ рд╣реИрдВред рд╢рд╛рдпрдж рдореБрдЭреЗ рдмреЗрд╕рд┐рдХ рднрд╛рд╖рд╛ рдореЗрдВ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдкреНрд░рдпреЛрдЧ рдпрд╛рдж рд╣реИред
 HPALETTE CardWindow::CreateCardPalette() { ... //include button text colours cols[0] = RGB(0, 0, 0); cols[1] = RGB(255, 255, 255); //include the base background colour cols[1] = crBackgnd; //include the standard button colours... cols[3] = CardButton::GetHighlight(crBackgnd); cols[4] = CardButton::GetShadow(crBackgnd); ... } 

рдЖрдк рдХреЛрдб рдХреЗ рд╡рд┐рднрд┐рдиреНрди рджрд┐рд▓рдЪрд╕реНрдк рд╡рд░реНрдЧреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдлрд┐рд░ рд▓реЗрдЦ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЖрдкрдХреЛ рд░реЛрдХрдирд╛ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ ReactOS рдореЗрдВ рдкрд╛рдИ рдЧрдИ рдЕрдиреНрдп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдорд┐рдард╛рдИ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕рд┐рд░реНрдл рдЗрд╕ рдХреЛрдб рдХреЛ рджреЗ рджреВрдВрдЧрд╛:
 #define SWAP(a,b,c) c = a;\ a = b;\ a = c 

рдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдг:
 BOOL FASTCALL IntEngGradientFillTriangle(...) { ... SWAP(v2,v3,t); ... } 

рдпрд╣ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдХреГрддрд┐ рд╣реИред

рд╕реНрдереИрддрд┐рдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг


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

рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдиреЗ рдЗрд╕ рддрд░рд╣ ReactOS рдореЗрдВ рд▓рд┐рдЦрд╛ рдФрд░ рд▓рд┐рдЦрд╛:
 if ((res = setsockopt(....) == -1)) 

рдХреЛрдб рд╡рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рдЬреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк: рдпрджрд┐ ((Res = setsockopt (....)) == -1)ред рдпрджрд┐ рдЖрдк рд╢реБрд░реБрдЖрдд рдореЗрдВ рдПрдХ рдирд┐рд░рдВрддрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдпреЛрдЧ рд╕реЗ рдЖрдк рдХрднреА рднреА рдЧрд▓рдд рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рджреЗ рдкрд╛рдПрдВрдЧреЗред рд╣рдорд╛рд░реЗ рдпрд╣рд╛рдБ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐ рд╣реИред рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдирд┐рдпрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкреНрд░рд╢реНрди рдореЗрдВ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдЧрд▓рддреА рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ: "рдЕрдЧрд░ (-1 == res = setsockopt (....))"ред

рдмрд╕ рдЗрд╕ рдЕрднреНрдпрд╛рд╕ рдХреЛ рдЬрд╛рдирдиреЗ рд╕реЗ рджреВрд╕рд░реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХреЗ рд╕реЗ рддреНрд░реБрдЯрд┐ рдХрд░рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
 static DWORD CALLBACK RegistrationProc(LPVOID Parameter) { ... if (0 == LoadStringW(hDllInstance, IDS_UNKNOWN_ERROR, UnknownError, sizeof(UnknownError) / sizeof(UnknownError[0] - 20))) ... } 

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

рдореИрдВ рдпреЗ рд╕рдм рдЙрджрд╛рд╣рд░рдг рдХреНрдпреЛрдВ рд╣реВрдБ? рдФрд░ рдпрд╣ рддрдереНрдп рдХрд┐ рд╣рдордореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдкрд░рд┐рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдФрд░ рди рддреЛ рдХреЛрдбрд┐рдВрдЧ рдорд╛рдирдХ, рди рд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддрдХрдиреАрдХ, рдФрд░ рди рд╣реА рдЖрддреНрдо-рдирд┐рдпрдВрддреНрд░рдг рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИред

рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ, рдЧрддрд┐рд╢реАрд▓ рдФрд░ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЬреИрд╕реА рд╕рд╣рд╛рдпрдХ рддрдХрдиреАрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдореИрдВ рдЬреЛрд░ рджреЗрддрд╛ рд╣реВрдВ:

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд░рд┐рдПрдХреНрдЯреЛрд╕ рдФрд░ рдЕрдиреНрдп рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдЪрдХреНрд░ рдореЗрдВ рд╕реНрдерд┐рд░ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рддрддреНрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рдЕрдкрдиреЗ рдмрдпрд╛рди рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реВрдВрдЧрд╛ред рдРрд╕реА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ, рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдпрд╛ рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп 100% рдХреЛрдб рдХрд╡рд░реЗрдЬ рдХреЗ рдХрд░реАрдм рдкрд╣реБрдВрдЪрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рдореИрдВ рдереЛрдбрд╝рд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░реВрдБрдЧрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рд▓рд╛рдЧрдд рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЙрдЪреНрдЪ рд╣реЛ рдЬрд╛рддреА рд╣реИред

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

рдЪреЗрдХ рдХреЛрдб рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬреЛ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ:
 static HRESULT STDMETHODCALLTYPE CBindStatusCallback_OnProgress(...) { ... if (This->szMimeType[0] != _T('\0')) _tprintf(_T("Length: %I64u [%s]\n"), This->Size, This->szMimeType); else _tprintf(_T("Length: %ull\n"), This->Size); ... } 

рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдХреЛрдб рдореВрд▓ рд░реВрдк рд╕реЗ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рддрдм рдХрд┐рд╕реА рдиреЗ рджреЗрдЦрд╛ рдХрд┐ рд╕рдВрджреЗрд╢ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдирд╣реАрдВ рдмрдирд╛ рдерд╛ рдФрд░ "% I64u" рд▓рд┐рдЦрдХрд░ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдЙрд╕рдиреЗ рдкрдбрд╝реЛрд╕ рдореЗрдВ рдХреЛрдб рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ред рдФрд░ рдЕрднреА рднреА рдЧрд▓рдд рдкреНрд░рд╛рд░реВрдк "% ull" рд╣реИред рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рд╢рд╛рдЦрд╛ рдХреЛ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЗрд╕реЗ рдпрд╛рдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рджрд░рдЕрд╕рд▓, рд╡рд╣ рдорд┐рд╕ рдирд╣реАрдВ рдХрд░рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдПрдХ рдФрд░ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдореЗрдореЛрд░реА рдХреНрд▓реАрдирдЕрдк рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рд░рд┐рдПрдХреНрдЯреЛрд╕ рдХреЛ рджреЗрдЦрд╛ред рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рдХреНрдпреЛрдВ рд╣реИрдВ, рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВред рдХреЛрдИ рднреА рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╕реНрдореГрддрд┐ рдкреВрд░реНрдг рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИ рдХрд┐ рдЖрдк рдЗрди рд╕рд░рд▓ рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдЧрд▓рддрд┐рдпрд╛рдБ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреБрдЫ рдЕрд╕реНрдерд╛рдпреА рдмрдлрд░ рдиреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рд╕рд╛рдл рдХрд┐рдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрд╣рд╛рдБ, рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдлрд┐рд░ рд╕реЗ рдмрд░рд╛рдмрд░ рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВрдиреЗ рдирд┐рд░рдВрддрд░ рдорд╛рди рдХреЗ рд╕рд╛рде рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рднрд░рдиреЗ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо 13 рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЧрд┐рдирд╛ред
 #define MEMSET_BZERO(p,l) memset((p), 0, (l)) char *SHA384_End(SHA384_CTX* context, char buffer[]) { ... MEMSET_BZERO(context, sizeof(context)); ... } 

рд╣рдо рд╕рд░рдгреА рдХреЗ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ sizeof (рд╕рдВрджрд░реНрдн) рдкреЙрдЗрдВрдЯрд░ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рди рдХрд┐ рд╕рдВрд░рдЪрдирд╛ рдХреЛред
 #define RtlFillMemory(Destination, Length, Fill) \ memset(Destination, Fill, Length) #define IOPM_FULL_SIZE 8196 HalpRestoreIopm(VOID) { ... RtlFillMemory(HalpSavedIoMap, 0xFF, IOPM_FULL_SIZE); ... } 

RtlFillMemory рдореИрдХреНрд░реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рддрд░реНрдХ рдорд┐рд╢реНрд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдХреЙрд▓ рдЗрд╕ рддрд░рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
 RtlFillMemory(HalpSavedIoMap, IOPM_FULL_SIZE, 0xFF); 

рдЯреИрдм рдФрд░ рд╕реНрдкреЗрд╕ рдлрд┐рд░ рд╕реЗ


рдореИрдВ рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдкреВрдЫрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рдирдИ рдЧрд░реНрдо рдЪрд░реНрдЪрд╛ рд╢реБрд░реВ рди рдХрд░реЗрдВред рдореИрдВ рд╕рд┐рд░реНрдл рдЕрдкрдиреА рд░рд╛рдп рд╡реНрдпрдХреНрдд рдХрд░реВрдВрдЧрд╛ред рдЖрдк рдЙрд╕рд╕реЗ рд╕рд╣рдордд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред

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

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

рдореИрдВ рдЕрдореВрд░реНрдд рддрд░реНрдХ рд╕реЗ рдирд╣реАрдВ рдирд┐рдкрдЯреВрдВрдЧрд╛ред рдЗрд╕ рдмрд╛рд░ рдореИрдВ рд╕рд┐рд░реНрдл рдЕрдкрдиреЗ рд╡рд┐рд░реЛрдзрд┐рдпреЛрдВ рдХреЛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред рдЕрдм, ReactOS рдХреЛрдб рдПрдХ рдРрд╕рд╛ рдЙрджрд╛рд╣рд░рдг рд╣реЛрдЧрд╛ред

ReactOS рдХреЛрдбрд┐рдВрдЧ рдорд╛рдирдХ [ 4 ] рдореЗрдВ, рдПрдХ рдЕрдЪреНрдЫрд╛ рдирд┐рдпрдо рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ:
TABs рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдиреЛрдЯ: рд╕реНрд╡рд░реВрдкрдг рдХреЗ рд▓рд┐рдП TAB рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ; рдХреЗрд╡рд▓ рдЗрдВрдбреЗрдВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП TAB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рд╕реНрд╡рд░реВрдкрдг рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
 рдЙрджрд╛рд╣рд░рдг: 
 NTSTATUS
 SomeApi (IN рдкреНрд░рдХрд╛рд░ Param1,
 [рд░рд┐рдХреНрдд рд╕реНрдерд╛рди] рдЯрд╛рдЗрдк рдкрд░рдо 2 рдореЗрдВ]
 {
 [рддрд╛рдм] рдЙрд▓реЛрдВрдЧ рдорд╛рдпрд╡рд░;
 [TAB] MyVar = 0;
 [TAB] рдпрджрд┐ ((MyVar == 3) &&
 [TAB] [sp] (Param1 == TRUE))
 [TAB] {
 [TAB] [TAB] CallSomeFunc ();
 ... 

рдЯреИрдм рдкреНрд░рд╢рдВрд╕рдХ рдЦреБрд╢ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ ReactOS рд╕реНрд░реЛрдд рдХреЛрдб рдЦреЛрд▓рддрд╛ рд╣реВрдВ рдФрд░ рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рджреВрд╖рд┐рдд рд╕реНрд╡рд░реВрдкрдг рджреЗрдЦрддрд╛ рд╣реВрдВред рдХреНрдпреЛрдВ?
рдЯреИрдм + рд╕реНрдкреЗрд╕ 1

рдЯреИрдм рдпрд╛ рд╕реНрдкреЗрд╕ 2

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

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

рдФрд░ рдПрдХ рдмрд╛рд░ рдФрд░ред рдХрд╕реНрдЯрдо рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреА рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╕реБрдВрджрд░рддрд╛ рдЕрднреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИред рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдХреЛрдИ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд┐рддрдирд╛ рд╕реБрдВрджрд░ рд▓рдЧрддрд╛ рд╣реИ рдЕрдЧрд░ рд╡рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ ReactOS рдХреЗ рд╕рд╛рде рдорд╛рдорд▓рд╛ рд╣реИред

рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рд░рд┐рдПрдХреНрдЯреЛрд╕ рд╡рд┐рдХрд╛рд╕ рдЯреАрдо рдЕрдкрдиреЗ рдорд╛рдирдХ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреА рд╣реИ рдФрд░ рдЯреИрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддреА рд╣реИред рдХрд┐рд╕реА рднреА рдЯреИрдм рдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХреЛрдб рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╡реИрд╕реЗ, рдпрд╣ рдЕрднреНрдпрд╛рд╕ рдЖрдкрдХреЛ рд░рд┐рдПрдХреНрдЯреЛрд╕ рдХреЛрдб рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдорддрднреЗрджреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛:
 BOOLEAN KdInitSystem(IN ULONG BootPhase, IN PLOADER_PARAMETER_BLOCK LoaderBlock) { ... /* Check if this is a comma, a space or a tab */ if ((*DebugOptionEnd == ',') || (*DebugOptionEnd == ' ') || (*DebugOptionEnd == ' ')) ... } 

рдЕрдВрддрд┐рдо рддреБрд▓рдирд╛ рдПрдХ рдЯреИрдм рд╡рд░реНрдг рдХреЗ рд╕рд╛рде рдПрдХ рддреБрд▓рдирд╛ рд╣реИ, рдФрд░ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП: "(* DebugOptionEnd == '\ t')"ред

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

рдЧреНрд░рдВрде рд╕реВрдЪреА


  1. ReactOS N79 рдиреНрдпреВрдЬрд╝ рд░рд┐рд▓реАрдЬрд╝ред рдЖрд╡рд░рдг рдореЗрдВ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдгред http://www.viva64.com/go.php?url=722
  2. рдпрд╣ рдХреЛрдб рдореЗрдВ рдЯреИрдм рдХреЗ рдмрдЬрд╛рдп рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЛ рдЯрд╛рдИ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред http://www.viva64.com/go.php?url=725
  3. рдпрд╣ рдХреЛрдб рдореЗрдВ рдЯреИрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдИ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред http://www.viva64.com/go.php?url=726
  4. ReactOSред рдХреЛрдбрд┐рдВрдЧ рд╕реНрдЯрд╛рдЗрд▓ред http://www.viva64.com/go.php?url=724
  5. Google C ++ рд╕реНрдЯрд╛рдЗрд▓ рдЧрд╛рдЗрдбред http://www.viva64.com/go.php?url=679

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


All Articles