1、 程序如下:
#include <stdio.h>
int func(int a,int b)
{
int c=a+b;
return c;
}
int main()
{
int result;
result=func(1,2);
return 0;
}
2、 分析如下:
㈠、首先我们可以查看主函数的反汇编代码,如下:
7: int main()
8: {
00401060 push ebp
00401061 mov ebp,esp
00401063 sub esp,44h
00401066 push ebx
00401067 push esi
00401068 push edi
00401069 lea edi,[ebp-44h]

这篇博客详细分析了C语言程序的反汇编代码,以一个简单的func函数和main函数为例,探讨了栈内存分配、局部变量的处理以及函数调用后的栈检查。在main函数中,重点解释了因定义局部变量result导致的栈空间调整和函数调用后的栈一致性检查。在func函数中,解析了参数传递和返回值的处理过程。
最低0.47元/天 解锁文章
1918

被折叠的 条评论
为什么被折叠?



