虚函数调用汇编

tP->TV();
00F2167A  mov         eax,dword ptr [tP]  			// 把对象指针放入eax
00F21680  mov         edx,dword ptr [eax]  			// 对象指针地址的最前面放置着该对象的虚地址指针,取虚地址指针
00F21682  mov         esi,esp  
00F21684  mov         ecx,dword ptr [tP]  			// 把对象放入ecx
00F2168A  mov         eax,dword ptr [edx+4]  		// 通过虚地址的偏移量取真正函数地址
00F2168D  call        eax  							// 调用成员函数
00F2168F  cmp         esi,esp  
00F21691  call        @ILT+355(__RTC_CheckEsp) (0F21168h)  


你可能感兴趣的:(vs2010,代码历程,Windows,c++)