MBK2
Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Rock Цитата: я, в отличие от всех вас тут | Отучаемся считать себя исключительным, проверить элементарно Ваш код компилируется в такое: Код: .text:004118A0 ; int __cdecl main_0(int argc, const char **argv, const char **envp) .text:004118A0 _main_0 proc near ; CODE XREF: _main↑j .text:004118A0 .text:004118A0 var_DC = byte ptr -0DCh .text:004118A0 var_18 = dword ptr -18h .text:004118A0 var_C = dword ptr -0Ch .text:004118A0 var_4 = dword ptr -4 .text:004118A0 argc = dword ptr 8 .text:004118A0 argv = dword ptr 0Ch .text:004118A0 envp = dword ptr 10h .text:004118A0 .text:004118A0 push ebp .text:004118A1 mov ebp, esp .text:004118A3 sub esp, 0DCh .text:004118A9 push ebx .text:004118AA push esi .text:004118AB push edi .text:004118AC lea edi, [ebp+var_DC] .text:004118B2 mov ecx, 37h .text:004118B7 mov eax, 0CCCCCCCCh .text:004118BC rep stosd .text:004118BE mov eax, ___security_cookie .text:004118C3 xor eax, ebp .text:004118C5 mov [ebp+var_4], eax .text:004118C8 mov ecx, offset unk_41C027 .text:004118CD call j_@__CheckForDebuggerJustMyCode@4 ; __CheckForDebuggerJustMyCode(x) .text:004118D2 mov [ebp+var_C], 0 .text:004118D9 mov esi, esp .text:004118DB push offset sub_41124E .text:004118E0 mov edi, esp .text:004118E2 lea eax, [ebp+var_C] .text:004118E5 push eax .text:004118E6 mov ecx, ds cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A ; std::ostream std::cout .text:004118EC call ds ?6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PBX@Z ; std::ostream::operator<<(void const *) .text:004118F2 cmp edi, esp .text:004118F4 call j___RTC_CheckEsp .text:004118F9 mov ecx, eax .text:004118FB call ds ?6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z ; std::ostream::operator<<(std::ostream & (*)(std::ostream &)) .text:00411901 cmp esi, esp .text:00411903 call j___RTC_CheckEsp .text:00411908 mov [ebp+var_18], 0 .text:0041190F mov esi, esp .text:00411911 push offset sub_41124E .text:00411916 mov edi, esp .text:00411918 lea eax, [ebp+var_18] .text:0041191B push eax .text:0041191C mov ecx, ds cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A ; std::ostream std::cout .text:00411922 call ds ?6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PBX@Z ; std::ostream::operator<<(void const *) .text:00411928 cmp edi, esp .text:0041192A call j___RTC_CheckEsp .text:0041192F mov ecx, eax .text:00411931 call ds ?6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z ; std::ostream::operator<<(std::ostream & (*)(std::ostream &)) .text:00411937 cmp esi, esp .text:00411939 call j___RTC_CheckEsp .text:0041193E xor eax, eax .text:00411940 push edx .text:00411941 mov ecx, ebp ; Esp .text:00411943 push eax .text:00411944 lea edx, Fd ; Fd .text:0041194A call j_@_RTC_CheckStackVars@8 ; _RTC_CheckStackVars(x,x) .text:0041194F pop eax .text:00411950 pop edx .text:00411951 pop edi .text:00411952 pop esi .text:00411953 pop ebx .text:00411954 mov ecx, [ebp+var_4] .text:00411957 xor ecx, ebp ; StackCookie .text:00411959 call j_@__security_check_cookie@4 ; __security_check_cookie(x) .text:0041195E add esp, 0DCh .text:00411964 cmp ebp, esp .text:00411966 call j___RTC_CheckEsp .text:0041196B mov esp, ebp .text:0041196D pop ebp .text:0041196E retn .text:0041196E _main_0 endp | Сами видите или поянения нужны?  |