只探究_cdecl调用方式,即默认的调用方式。
下面图说明了参数传递过程
。。。。。 |
参数n-1 |
参数n |
返回地址 |
0040D490 push ebp
0040D491 mov ebp,esp
0040D493 sub esp,40h
0040D496 push ebx
0040D497 push esi
0040D498 push edi
0040D499 lea edi,[ebp-40h]
0040D49C mov ecx,10h
0040D4A1 mov eax,0CCCCCCCCh
0040D4A6 rep stos dword ptr [edi]
这个过程包括预分配堆栈空间,初始化(Release可能不会初始化,初始化的原因一般是为了调试明了)。
再说说main函数,main函数由