28: { 00401230 push ebp 00401231 mov ebp,esp 00401233 sub esp,44h 00401236 push ebx 00401237 push esi 00401238 push edi 00401239 push ecx 0040123A lea edi,[ebp-44h] 0040123D mov ecx,11h 00401242 mov eax,0CCCCCCCCh 00401247 rep stos dword ptr [edi] 00401249 pop ecx 0040124A mov dword ptr [ebp-4],ecx 29: printf("call b"); 0040124D push offset string "call b" (00422038) 00401252 call printf (00401830) 00401257 add esp,4 30: b(); 0040125A mov ecx,dword ptr [ebp-4] //不要想这里的[ebp-4]肯定是this指针, 0040125D call @ILT+15(CTest::b) (00401014) // 又是@ILT静态表格 31: } 00401262 pop edi 00401263 pop esi 00401264 pop ebx 00401265 add esp,44h 00401268 cmp ebp,esp 0040126A call __chkesp (00401670) 0040126F mov esp,ebp 00401271 pop ebp 00401272 ret 8 //由于是STDCALLR所以栈是由程序自己来平衡的 |
正在阅读:C++类机制的实现细节C++类机制的实现细节
2004-04-23 10:17
出处:CSDN
责任编辑:linjixiong
键盘也能翻页,试试“← →”键