建议安装VS2013可以详细查看栈帧创建过程,本篇了解为主。
寄存器eax,ebx,ecx,edx,ebp,esp
ebp,esp这两个寄存器中存放的是地址,这两个地址维护的是用来函数栈帧的。每一个函数调用都要在栈区创建一个空间。
在VS2013中,main函数是被其他函数调用的:_tmainCRTStartup, mainCRTStartup
#include <stdio.h>
int Add(int x, int y)
{
int z = 0;
z = x + y;
return z;
}
int main()
{
int a = 10;
int b = 20;
int c = 0;
c = Add(a, b);
printf("%d\n", c);
return 0;
}
如果这篇文章对你有所帮助,请点个赞吧!欢迎大家留下评论,和博主友好交流!