
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, C ++ рдХреЛрдб рдХреЗ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдЙрдкрдХрд░рдг Habr├й -
CppCat рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдкрдиреЗ рдкрд┐рдЫрд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ (PVS-Studio) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдЗрд╕рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдиреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдФрд░ рд╣реИрдмрд░ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрд╛рдд рдХреАред рдЙрд╕рдХреЗ рдкреНрд░рддрд┐ рдореЗрд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рджреБрдЧреБрдирд╛ рдерд╛ - рдПрдХ рддрд░рдл, рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЙрд╕рдХреЗ рд╕рд╛рде рдЙрд╕рдХреЗ рдмрд┐рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рджреВрд╕рд░реА рдУрд░, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЕрдкрдиреЗ рдкреИрдорд╛рдиреЗ рд╕реЗ рдбрд░ рдЧрдпрд╛, рдПрдХ рддрд░рд╣ рдХрд╛ "рдЙрджреНрдпрдо", рдФрд░ рдПрдХ рдХреАрдордд рдкрд░ рднреАред рдореБрдЭреЗ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЕрдЪреНрдЫрд╛ рдЕрдВрджрд╛рдЬрд╛ рдерд╛ рдХрд┐ рд▓рдЧрднрдЧ 50 рдХреА рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреАрдо рдЗрд╕реЗ рдХреИрд╕реЗ рдЦрд░реАрдж рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рд▓рдЧрднрдЧ 5 рдореЗрдВ рд╕реЗ рдПрдХ рднреА рдбреЗрд╡рд▓рдкрд░ рдпрд╛ рдЯреАрдо рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреА рд╣реИред рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдореИрдВрдиреЗ
рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдерд╛ рдХрд┐ рдХрд┐рд╕реА рддрд░рд╣ рд▓реЗрдЦрдХ рдкреАрд╡реАрдПрд╕ рдХреЛ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рддреИрдирд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рдордп рдкрд░ рдЗрд╕рдХреА рдкрд╣реБрдВрдЪ рдмреЗрдЪрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡реЗ рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ рдЪрд▓реЗ рдЧрдП рдФрд░ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рдкреИрд╕реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреНрд░рд┐рдк-рдбрд╛рдЙрди рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдпрд╛ (рдРрд╕рд╛ рдмрдЬрдЯ "рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддреЛрдбрд╝рдиреЗ" рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рд┐рд░реНрдл рдЕрдкрдиреЗ рд▓рд┐рдП рдЦрд░реАрджрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕рдВрднрд╡ рд╣реИ)ред
рдЪрд▓реЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЦреЗрд▓ рдореЛрдордмрддреНрддреА рдХреЗ рд▓рд╛рдпрдХ рд╣реИред
рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рдореБрдЭреЗ рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рд╕рд╣реА рдирд╣реАрдВ рд▓рдЧрддреА, рд╡рд╣ рд╣реИ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2005 \ 2008 рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреА рдХрдореАред рдирд╣реАрдВ, рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдПрдкреАрдЖрдИ рдерд╛ рдФрд░ рд╢рд╛рдпрдж рдЗрд╕реЗ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реА ++ рдПрдХ рдпреБрд╡рд╛ рднрд╛рд╖рд╛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рд╣реИ, рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдЕрднреА рднреА VS2008 рдкрд░ рд▓рд╛рдЗрд╡ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдХреЛрдИ рднреА рдирд╣реАрдВ рдпрджрд┐ рд╡рд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рддреЛ рдкреНрд░рддрд┐ рддрд┐рдорд╛рд╣реА рдПрдХ рджрд░реНрдЬрди рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрднреА рднреА рдПрдХ рдкреВрд░реНрдг-рд╡рд┐рдХрд╕рд┐рдд рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдЪреНрдЫрд╛ рдареАрдХ рд╣реИред
рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдореЗрдВ рдиреНрдпреВрдирддрдо рдкреНрд░рд╕рдиреНрдирддрд╛: рдЕрдВрдХреЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЗрдиреВ, рдПрдХ рдЯреВрд▓рдмрд╛рд░ - рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВред "рдмрд┐рд▓реНрдб рдкрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕рдХреНрд╖рдо рдХрд░реЗрдВ" рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реИред рдХреНрдпреЛрдВ? рдпрд╣ рдореБрдЭреЗ рдЕрдзрд┐рдХ рддрд░реНрдХрд╕рдВрдЧрдд рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рд▓реНрдб рдХреА рдЧрддрд┐ рдХреЛ рдзреАрдорд╛ рди рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗред рдЖрдк рдЕрдкрдиреЗ рдЖрдк рдХреЛ svn \ git рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдкреНрд░реА-рдХрдорд┐рдЯ рд╣реБрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд╕реНрдорд╛рд░рдХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд╕рд╛рде рдирдП рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рддреАрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЪреБрдирд╛:
- рдиреЛрдЯрдкреИрдб ++ (рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЦрд░рд╛рдм рдХреЛрдб рд╣реИ)
- ZeroMQ (рдЬрд┐рд╕реЗ рдореИрдВ рдЕрдЪреНрдЫрд╛ рдирдореВрдирд╛ рдХреЛрдб рдорд╛рдирддрд╛ рд╣реВрдВ)
- рдореЗрд░реА рдкреБрд░рд╛рдиреА рдХрд╛рд░реНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ - рдореИрдВрдиреЗ рдХрдИ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдерд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЧрд▓рддрд┐рдпрд╛рдБ рд╣реИрдВ
рдиреЛрдЯрдкреИрдб ++ рдФрд░ рдЬреАрд░реЛрдПрдордХреНрдпреВ рдХреЛ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЙрди рджреЛрдиреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдмрд╣реБрдд рдХрдо рдЕрдиреБрднрд╡ рдерд╛ - рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рдпрд╣рд╛рдБ рдФрд░ рд╡рд╣рд╛рдБ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рд╕реЗ, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рдереА рдХрд┐ рдХреИрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдВрдЪ рдХрд░реЗрдВ (рдореБрдЭреЗ VS2010 рдХреЗ рддрд╣рдд рдирд┐рд░реНрдорд╛рдг рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрддрд╛ рдерд╛)ред
рдиреЛрдЯрдкреИрдб ++
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ 86 рдлрд╛рдЗрд▓реЗрдВ, рдкреВрд░реНрдг рд╕реНрдХреИрди рдХреЗ рд▓рд┐рдП 2 рдорд┐рдирдЯред CppCat рд╕реЗ рд╕рдВрджрд┐рдЧреНрдз рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ 48 рд╕рдВрджреЗрд╢ (рдкреНрд░рддрд┐ рдлрд╝рд╛рдЗрд▓ рдФрд╕рдд 0.55 рд╕рдВрджреЗрд╢)
рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддреА рд╣реИ рдЬрдм рдПрдХ рдмрд╛рдЗрдЯ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рддрд╛рд░реНрдХрд┐рдХ 'рдФрд░' рдФрд░ рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ 'рдФрд░' рднреНрд░рдорд┐рдд рд╣реЛрддреЗ рд╣реИрдВредToAscii(wParam,(lParam >> 16) && 0xff,keys,&dwReturnedValue,0);
рдирдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪ WPARAM wParam ... if(wParam<0)
рд╕реВрдЪрдХрд╛рдВрдХ -1 рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рд╕реЗрд▓ рдХрд╛ рд╕рдВрднрд╛рд╡рд┐рдд рдкрддрд╛ j=lstrlen(BGHS[SelfIndex].editstring); BGHS[SelfIndex].editstring[j-1]=0x00;
рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реИ - рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╢реВрдиреНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд╛рдЗрди рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рдореИрдВ рдХрд┐рд╕реА рдорд╛рдорд▓реЗ рдХреА рдЖрд╢рд╛ рди рдХрд░реВрдВред
рджреЛрд╣рд░рд╛ рдХрд╛рдоред рдПрдХ рдмрд╛рдд рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рддрд╣реА рд╣реИред lpcs = &cs; lpcs = (LPCREATESTRUCT)lParam;
рднрд╡рди рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдмрдХрд╡рд╛рд╕ред if(MATCH) { return returnvalue+MAX_GRIDS; } if(!MATCH))
рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рд╕реНрдореГрддрд┐ рдХреЗ рд▓рд┐рдП рдЧрд▓рдд рдЬрд╛рдВрдЪ char *source = new char[docLength]; if (source == NULL)
рдореЗрд░реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдХрд┐рд╕реА рднреА C ++ рдХреЛрдб рдореЗрдВ рд╕рдмрд╕реЗ рдЖрдо рдЧрд▓рддреА рд╣реИ (рдпрд╣ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ 24 рдмрд╛рд░ рд╣реЛрддрд╛ рд╣реИ)ред C рд╕реЗ рд╕реНрдореГрддрд┐ рдЖрдмрдВрдЯрди рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЗрд╕рдХреА рдЬрдбрд╝реЗрдВ рд╣реИрдВ, рдЬреЛ NULL рдХреЛ рддреНрд░реБрдЯрд┐ рдкрд░ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП C ++ рдореЗрдВ рдирдП рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, "рдХреНрдпрд╛ рдЙрдкрд▓рдмреНрдз рдореЗрдореЛрд░реА рд░рди рдЖрдЙрдЯ рд╣реЛ рдЧрдИ рд╣реИ?" рдЖрдкрдХреЛ std рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ :: bad_alloc рдЕрдкрд╡рд╛рдж, рдФрд░ NULL рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВред
рдЕрддрд┐рд░рд┐рдХреНрдд рд╡реНрдпрд╛рдореЛрд╣ TCHAR intStr[5]; ... if (!intStr)
рдпрджрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдпрд╣ рдмрд╛рдд рд╕рд╛рдордиреЗ рдЖрддреА рд╣реИ рдХрд┐ рдкрд╛рдВрдЪ рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдШреЛрд╖рд┐рдд рд╕рд░рдгреА рдореЗрдВ рд╕реВрдЪрдХ NULL рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рдХреБрдЫ рдЗрддрдирд╛ рдЦрд░рд╛рдм рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдмрд╕ рдЧрд┐рд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рдПрдХ рд╣реА рд╕реНрдерд┐рддрд┐ рдХреА рджреЛрд╣рд░реА рдЬрд╛рдВрдЪ do { ... } while(openFound.success && (styleAt == SCE_H_DOUBLESTRING || styleAt == SCE_H_DOUBLESTRING) && searchStartPoint > 0);
рдпрд╣рд╛рдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЙрджреНрдзрд░рдг (рдбрдмрд▓ рдФрд░ рд╕рд┐рдВрдЧрд▓) рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбрдмрд▓ рдЪреЗрдХ рдбрдмрд▓ред SCE_H_SINGLESTRING рдХреЗ рд╕рд╛рде рджреВрд╕рд░реЗ рдЪреЗрдХ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ, рдЬреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рднреВрд▓ рдЧрдпрд╛ рдерд╛ред рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдмрдЧ рдореЗрдВ рд╕реЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ XML рдкрд╛рд░реНрд╕рд░ рдореЗрдВ рдПрдХ рдмрдЧ рд╣реИ, рдФрд░ рди рдХреЗрд╡рд▓ "рд╕реБрдзрд╛рд░ рд╕рд▓рд╛рд╣" рд╣реИред
рдЧрд▓рдд (рдореЗрд░реА рд░рд╛рдп рдореЗрдВ) рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ
рджреЛ рд▓рдЧрд╛рддрд╛рд░ рдЕрдЧрд░ рдПрдХ рд╣реА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдмреНрд▓реЙрдХ
рдпрд╣рд╛рдВ рдореИрдВ CppCat рд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдВред рдХреМрди рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛? рдХреЛрдб рдорд╛рдиреНрдп рд╣реИ, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ "рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреВрд▓ рдЧрдпрд╛!" рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЧрд▓рддреА рд╣реИ, рдЕрдиреНрдпрдерд╛ рд╡рд╣рд╛рдБ "рдФрд░" рд╣реЛрдЧрд╛ред рдмрд╕ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдбрд┐рдЬрд╛рдЗрди рдХреЛрдбред
"&& 'рдСрдкрд░реЗрд╢рди рдХреА рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпрд╛рдБ" рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реИ "|| рдСрдкрд░реЗрд╢рди ┬╗
printPage = (!(_pdlg.Flags & PD_PAGENUMS) || (pageNum >= _pdlg.nFromPage) && (pageNum <= _pdlg.nToPage));
CppCat рд╣рдардкреВрд░реНрд╡рдХ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕рдВрдЪрд╛рд▓рди рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрд░реНрде рдФрд░ рд╕реНрд╡рдЪреНрдЫрддрд╛ рджреЛрдиреЛрдВ рдореЗрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЬрд╛рдирддрд╛ рдерд╛ рдХрд┐ рд╡рд╣ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдмреЗрд╢рдХ, "рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд╣рд┐рдд рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ," рд▓реЗрдХрд┐рди рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИред
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдпрд╣ рдирд╣реАрдВ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЕрд░реНрдерд╣реАрди рдХреЛрдб рдЕрдиреНрдп рд╕рдВрдХрд▓рди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдордЭ рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИред
if (unicodeSupported) ::DispatchMessageW(&msg); else
рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ "#ffine DispatchMessage DispatchMessageW" рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдПрдХ рдмрд╛рдд рд╣реИ - рдпрд╣ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╕рд╢рд░реНрдд рд╕рдВрдХрд▓рди рдореИрдХреНрд░реЛрдЬрд╝ рджреНрд╡рд╛рд░рд╛ рд╕рдХреНрд╖рдо рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХреЛрдб рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЕрдиреНрдп рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдбрд┐рд╕реНрдкреИрд╕рдореИрд╕реЗрдЬ DispatchMessageA рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХреЛрдб рд╕рдордЭ рдореЗрдВ рдЖрдПрдЧрд╛ред
рдмреЗрд╢рдХ, рдореБрдЭреЗ рджреЛрд╖ рд▓рдЧрддрд╛ рд╣реИ: "рдХреНрдпрд╛ рдЕрдиреНрдп рд╕рдВрдХрд▓рди рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ" рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдиреБрдЪрд┐рдд рд╣реИред рд▓реЗрдХрд┐рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рд╕реЗ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдиреЛрдЯрдкреИрдб ++ рдЖрдЙрдЯрдкреБрдЯ48 рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдореЗрдВ рд╕реЗ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд▓рдЧрднрдЧ 38 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ рдФрд░ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛рд╡ред рдЗрдирдореЗрдВ рд╕реЗ, 30 рд╕реНрдерд╛рди рд╕реНрдкрд╖реНрдЯ рдХреАрдбрд╝реЗ рд╣реИрдВ, рдФрд░ 8 рдЙрдкрдпреЛрдЧреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реИрдХрд▓реНрдкрд┐рдХ рд╢реИрд▓реАрдЧрдд рдкрд░рд┐рд╡рд░реНрддрдиред рдореИрдВ рдХреЛрдб рд▓реЙрдЬрд┐рдХ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ CppCat рдХреЗ 10 рдкрджреЛрдВ рдХреЛ рдЭреВрдард╛ рдорд╛рдирддрд╛ рд╣реВрдВред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ - рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИред
ZeroMq
72 рдлрд╛рдЗрд▓реЗрдВ, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП 1 рдорд┐рдирдЯред
рдмрд┐рд▓реНрдХреБрд▓ 1 рд╕рдВрджрд┐рдЧреНрдз рдЬрдЧрд╣ рдорд┐рд▓реАред рдФрд░ рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрд▓рдд рд╣реИред
rc = pipe_->write (&probe_msg_);
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЗрд╕ рддрдереНрдп рд╕реЗ рдкрд░реЗрд╢рд╛рди рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рдФрд░ рджреВрд╕рд░реЗ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреЗ рдмреАрдЪ рдЦрд░рд╛рдм рдЖрд░рд╕реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рд╛рдВ, рдХреЛрдИ рдЬрд░реВрд░рдд рдирд╣реАрдВред рд▓реЗрдХрд┐рди рдЖрдЦрд┐рд░рдХрд╛рд░:
- рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдПрдХ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рд╕реЗрдЯ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХрд┐рд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред
- рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд╣реИ рдЬреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдЖрд░рд╕реА рдЪреЗрдХ рдкрд╣рд▓реЗ (рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ) рдпрд╣рд╛рдВ рдерд╛ред рд╡рд╣ рдпрд╣ рднреА рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдЪреЗрдХ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрд╛рдзреНрдп рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдареАрдХ рдХреНрдпреЛрдВ рд╣реИред
ZeroMq рдкрд░ рдирд┐рд╖реНрдХрд░реНрд╖рдХреЛрдб рдореЗрдВ рдПрдХ рд╕рдВрджрд┐рдЧреНрдз рдЬрдЧрд╣ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рднреА рдЙрдкрдпреЛрдЧреА рд╕рдВрджреЗрд╢ рдирд╣реАрдВред рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рд╢реБрд░реВ рд╕реЗ рд╣реА рдХрд╣рд╛ рдерд╛ рдХрд┐ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реА рдмрд╣реБрдд рд░рд╛рдп рд╣реИред
рдореЗрд░рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ
420 рдлрд╛рдЗрд▓реЗрдВ (8 рдЙрдкрдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ), рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП 9 рдорд┐рдирдЯ, 99 рдЪреЗрддрд╛рд╡рдиреАред рдпрд╣ рдкреНрд░рддрд┐ рдлрд╝рд╛рдЗрд▓ рдФрд╕рддрди 0.23 рдЪреЗрддрд╛рд╡рдиреА рд╣реИред
рдкреНрд░рдХрд╛рд░ std :: рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдмреЗрд╡рдХреВрдл рдЧрд▓рддреА void CHttpDownloaderBase::GetResponseHeader(const std::string& strHeaderName, std::list<std::string>& listValues) const { listValues.empty();
рднреНрд░рдо рдпрд╣ рд╣реИ рдХрд┐ рдХреБрдЫ рдЪреМрдЦрдЯреЛрдВ рдореЗрдВ рдЦрд╛рд▓реА рдХрдВрдЯреЗрдирд░ рдкреНрд░рдХрд╛рд░ рд╡рд┐рдзрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╕рд╛рдл рдХрд░рддреА рд╣реИред рд▓реЗрдХрд┐рди std :: рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╢реВрдиреНрдп рдЬрд╛рдВрдЪ рд╣реИред рд╕реНрдкрд╖реНрдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ()
рдЗрд╕рдХреЗ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рдж рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдЪреЗрдХ рдХрд░рдирд╛ const char *xml_attr(xml_t* xml, const char *attr) { ... const char *name = xml->name; if (! xml || ! xml->attr)
рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ while (*(n = ++s + strspn(s, XML_WS)))
рджрд░рдЕрд╕рд▓, VS2010 рд╕реЗ C ++ рдХрдВрдкрд╛рдЗрд▓рд░ рдкрд░, рдпрд╣ рдХреЛрдб рдЗрд░рд╛рджрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ - рд╣рд╛рдБ, рдорд╛рдирдХ рдХрд╣рддреЗ рд╣реИрдВ "рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ред" рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИред
рдХреБрдЦреНрдпрд╛рдд рд╕рдВрдЪрд╛рд▓рдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдБ if (!text[++r] == '\\')
рдпрд╣ рдЖрд╕рд╛рди рд╣реИ, рдСрдкрд░реЗрдЯрд░ "!" "==" рд╕реЗ
рдЕрдзрд┐рдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ
рд╕реВрдЪрдХ рдЕрдВрдХрдЧрдгрд┐рдд TCHAR *ch = path + lstrlen(path) - 1;
CppCat рдХрд╛ рд╕реБрдЭрд╛рд╡ рдХрд┐ рдореИрдВ рдкреЙрдЗрдВрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдорд╛рди рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЧрд▓рдд рд╣реИ, рдореИрдВ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рд╣реА рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдлрд┐рд░ рднреА, рдЗрд╕ рд╕рдВрджреЗрд╢ рд╕реЗ рдХреБрдЫ рд▓рд╛рдн рд╣реЛрддрд╛ рд╣реИ - рдпрд╣ рд╕реВрдЪрдХ рджреНрд╡рд╛рд░рд╛ рдореВрд▓реНрдп рд▓реЗрдиреЗ рдХреЗ рдПрдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ - "*"ред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдк рдмрд╕ "ch--" рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдерд┐рддрд┐ while (*p1 != 0 && *p1 == _T(' '))
рдпрд╣ рд╕рд░рд▓ рд╣реИ - рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде p1 рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реЗ рдЪреЗрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрдЪрд╛рд▓рди m_dwInPartPos = 0; m_pcOutData = NULL; ... m_dwInPartPos = 0;
рдирд╣реАрдВ рдХрд┐ рдПрдирдо if (type == eRT_unk)
C ++ рдХреЗ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рджреБрдЦреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдХрдо рд╕реЗ рдХрдо рдЬрдм рддрдХ рдирдП рдорд╛рдирдХ рдореЗрдВ
рдПрдирдо рд╡рд░реНрдЧреЛрдВ рдХреЗ рдЖрдЧрдорди) рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╣реИ рдХрд┐ рдПрдирдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдЗрдХрд╛рдИ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред рдПрдХ enum рдореЗрдВ eRt_unk рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ eResourceUn рдкрд╣рдЪрд╛рдирд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдмрд╕ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рдерд╛ рдХрд┐ рд╡реЗ рджреЛрдиреЛрдВ рдмрд░рд╛рдмрд░ рдереЗ 0. рддреНрд░реБрдЯрд┐ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдХреЛрдб рдореЗрдВ рдереА, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рдм рдХреБрдЫ рднрд╛рдЧреНрдп рд╕реЗ рдмрд╛рд╣рд░ рдерд╛ред
рдЦреИрд░, рдФрд░ рдЬрд╣рд╛рдВ рд╢реИрд▓реА рдХреЗ рдХреНрд▓рд╛рд╕рд┐рдХреНрд╕ рдХреЗ рдмрд┐рдирд╛: = рддреБрд▓рдирд╛ рдореЗрдВ == рдХреЗ рдмрдЬрд╛рдп if (scheme == ZLIB_COMPRESSION) out.push(boost::iostreams::zlib_compressor()); else if (scheme = GZIP_COMPRESSION) out.push(boost::iostreams::gzip_compressor());
рдЦреИрд░, рдореИрдВ рдХреНрдпрд╛ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ - рдПрдХ рдмреЗрд╡рдХреВрдл рдЧрд▓рддреА, рдХреЛрдИ рдмрд╣рд╛рдирд╛ рдирд╣реАрдВ рд╣реИред
рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХрддрд╛
рдХрд┐рд╕реА рд╡реНрдпреВрд╣ рдХреА рд╕реАрдорд╛ рд╕реЗ рдкрд░реЗ рдЬрд╛рдирд╛
int len = lstrlen(szLogDir); TCHAR ch = szLogDir[len-1];
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд▓реЗрди рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ "> 0" рдХреЗ рд▓рд┐рдП рдЪреЗрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдб рдХреЗ рдареАрдХ рдКрдкрд░, szLogDir рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЧреИрд░-рд╢реВрдиреНрдп рдХреЗ рд▓рд┐рдП рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреВрд╕рд░рд╛ рдЪреЗрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдирд╣реАрдВ рдЬреЛрдбрд╝реЗрдЧрд╛ред
рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж рдЦрд░рд╛рдмреА
рдореБрдЭреЗ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдРрд╕рд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдорд┐рд▓рд╛:
if (m_packets[i] != NULL) delete m_packets[i];
CppCat рдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдХрд╣рд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдиреЗ рдХрд╣рд╛ рдХрд┐ рдкреВрд░реНрдг рдХреЛ рд╣рдЯрд╛рдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдерд╛ред
рдореЗрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдирд┐рд╖реНрдХрд░реНрд╖99 рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ, рд▓рдЧрднрдЧ 65 рдорд╛рдорд▓реЗ рдореЗрдВ, рдмрдЧреНрд╕ рдХрд╛ рд╡рд┐рддрд░рдг рдФрд░ рдХреЛрдб рдореЗрдВ рд╕рд┐рд░реНрдл "рд╕реБрдзрд╛рд░" рдХрд╣реАрдВ 50/50 рдХреЗ рдЖрд╕рдкрд╛рд╕ рдерд╛ред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЖрдХрд░реНрд╖рдг рдЖрддреЗ рд╣реИрдВ
- рдЖрд░рд╛рдо
- рдХреАрдордд
- рдЕрд╕рд▓реА рдХреАрдбрд╝реЗ рдвреВрдБрдврддрд╛ рд╣реИ
рд╡рд┐рдкрдХреНрд╖
- VS2005 \ VS2008 рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХрд╛ рдЕрднрд╛рд╡
- рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХрддрд╛ рдХрд╛ рдХреБрдЫ рдкреНрд░рддрд┐рд╢рдд
рдПрдХ рдЛрдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд╣реАрдВ!
64-рдмрд┐рдЯ рдЪреЗрдХ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд╛ рдЕрднрд╛рд╡ред
рдореБрдЭреЗ рдХрднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд╣рдореЗрд╢рд╛ рдЙрди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ред рд╡рд┐рдВрдбреЛрдЬ x64 рдХреЗ рддрд╣рдд, 32-рдмрд┐рдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдФрд░ рддрджрдиреБрд╕рд╛рд░, 64-рдмрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рд╢реНрди рдЕрдХреНрд╕рд░ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдбреНрд░рд╛рдЗрд╡рд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╛ рдЬрдм рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ 3 рдЬреАрдмреА рд╕реЗ рдЕрдзрд┐рдХ рд░реИрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдореЗрд░реЗ рдЖрдВрдХрдбрд╝реЛрдВ рдореЗрдВ, рдпрд╣ рд▓рдЧрднрдЧ 10-15% рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВред
MsBuild рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреА рдХрдореА, рдЖрджрд┐ред
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдХреЛрдб рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЬрд╛рдВрдЪрдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рддрд░реНрдХрд╕рдВрдЧрдд рд▓рдЧрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рд▓реНрдб (рдзреАрд░реЗ) рдХреЗ рд╕рд╛рде рдирд╣реАрдВ, рдмрд┐рд▓реНрдб рд╕рд░реНрд╡рд░ рдкрд░ рдирд╣реАрдВ (рдЕрдВрддрдГрдХреНрд░рд┐рдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдирд╣реАрдВ), рд▓реЗрдХрд┐рди рдЙрд╕ рддрд░рд╣ рд╕реЗред рдЗрд╕рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рд╕рдордп рдирд╣реАрдВ рд▓рдЧреЗрдЧрд╛, рдЖрдкрдиреЗ рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рдХреЗ рд╕рд╛рдордиреЗ рдЦреБрдж рдХреЛ рдЕрдкрдорд╛рдирд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ - рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдПрдХ рдкреНрд▓рд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд╣реАрдВ!
рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рддрдкрд╕реНрдпрд╛
CppCat рдмрд╣реБрдд рдЧрдВрднреАрд░ рдирд┐рдХрд▓рд╛ред рдкрд░реНрдпрд╛рдкреНрдд рд▓рдЪреАрд▓рд╛рдкрди рдирд╣реАрдВ рд╣реИ: рдЖрдк рдлрд╝рд╛рдЗрд▓реЛрдВ, рдлрд╝реЛрд▓реНрдбрд░реЛрдВ, рд╕реНрдХреИрдирд┐рдВрдЧ рд╕реЗ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрдВрдХреНрддрд┐ рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдХреИрд╕реЗ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рд╣реИ? рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рддреНрд░реБрдЯрд┐ рдпрд╛ рддреНрд░реБрдЯрд┐ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХреЛ рдЕрдХреНрд╖рдо рдХреИрд╕реЗ рдХрд░реЗрдВ? рдФрд░ рдЕрдЧрд░ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд▓рд┐рдП? рдпрд╣ рдпрд╛ рддреЛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдпрд╛ рдореИрдВрдиреЗ рдХрдо рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝рд╛ рд╣реИред
рдЗрдЪреНрдЫрд╛-рд╕реВрдЪреА
рд╣реЛрдЯрд▓ 1
рдпрд╣ рдЙрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ рдЬреЛ рд╕рддреНрдпрд╛рдкрди рд╕реЗ рдмрд╛рд╣рд░ рдХрд┐рдП рдЧрдП рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдХреЛрдб рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХрд╣реАрдВ-рдХрд╣реАрдВ рдПрдХ рдмрд╛рд╣рд░реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдЦреА рдЧрдИ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдУрд░ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рднреА рд╕рд╣рдХрд░реНрдореА рдПрдХ рд╣реА рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдХреЛрдб рдореЗрдВ "// - V: is_test_ok & =: 501" рдЬреИрд╕реЗ рдХреЛрдб рдкрдврд╝рдирд╛ рдФрд░ рдЙрдирдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдкрд░ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реЛрдирд╛ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╣реЛрдЯрд▓рдХрд╛ реи
рдЪреЗрддрд╛рд╡рдиреА рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдореЗрдВ рд╡рд┐рдХрд▓реНрдк "рдХреЙрдкреА" рдФрд░ Ctrl + V рд╣реЙрдЯрдХреА рдЬреЛрдбрд╝рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд▓рд┐рдП рдХрдореЗрдВрдЯ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдЗрди рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдХреЙрдкреА рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред рдЕрдм, рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рджрд╕реНрддрд╛рд╡реЗрдЬ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд╣рд╛рдВ рд╕реЗ рд╢реАрд░реНрд╖рдХ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ - рд▓реЗрдХрд┐рди рдкрд╛рда рдХреЛ рд╡рд╣рд╛рдВ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рддреНрдпрд╛рдкрди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛрдб рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЪрд░ рдХреЗ рдирд╛рдо рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╕рдордЭ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред
рдЕрдВрддрд┐рдо рдирд┐рд╖реНрдХрд░реНрд╖
CppCat рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ рдпрд╣ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЦрд░реАрдж рдЙрдкрдХрд░рдг рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдЖрдЗрдП рд╣рдордмреЗ: 80,000 рд░реВрдмрд▓ ($ 2,370) рдкрд░ рд╣рд╛рд▓ рдХреА рд╕рдореАрдХреНрд╖рд╛ рд╕реЗ рдПрдХ рд╡реИрдХреНрдпреВрдо рдореЗрдВ рдФрд╕рдд рд╕реА ++ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХрд╛ рдФрд╕рдд рд╡реЗрддрди рд▓реЗрддреЗ рд╣реИрдВред рддреЛ рдЙрдирдХреЗ 1 рдШрдВрдЯреЗ рдХреЗ рдХрд╛рдо рдХрд╛ рдЦрд░реНрдЪ рд▓рдЧрднрдЧ $ 14 рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рд╣реЛрдВрдЧреЗ рдХрд┐ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рдорд╛рди рдмрдЧ рдвреВрдВрдврдирд╛ рдФрд░ рдареАрдХ рдХрд░рдирд╛ (рдФрд░ рднрд▓реЗ рд╣реА рдЖрдк рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдЖрдк рдЬреЛ рдЦреЛрдЬ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдШрдВрдЯреЗ рдХрд╛ рдХрд╛рдо рд╣реИ)ред CppCat рдХреА рд▓рд╛рдЧрдд $ 250 рд╣реИред рдпрд╣ 17 рдШрдВрдЯреЗ рдХреЗ рдХрд╛рдо рдХреА рддрд░рд╣ рд╣реИред рдпрджрд┐ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЖрдк рдмрдЧ рдлрд┐рдХреНрд╕рд┐рдВрдЧ рдкрд░ 17 рдШрдВрдЯреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ (рдФрд░ рдРрд╕реА рдХреНрдпрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╡реЗ рдХрдо рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ?), рддреЛ рдЦрд░реАрдж рдЙрдЪрд┐рдд рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рджреЗрдЦрднрд╛рд▓ рдХреЗ рд▓рд┐рдП CppCat рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ VS2008 рдХреЗ рд╕рд╛рде рд╡рд┐рд╢рд▓рд┐рд╕реНрдЯ рдФрд░ рдПрдХреАрдХрд░рдг рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЖрд╢рд╛ рдХрд░рддрд╛ рд╣реВрдВред