c函数堆栈

使用反汇编分析代码

1.无参数无返回值

void fun1()
{
}
int main(int argc, char* argv[])
{
fun1();
return 0;
}

反汇编分析

image-20240529195435120

2.有参无返回值

代码

void fun2(int x,int y)
{
x + y;
}
int main(int argc, char* argv[])
{
fun2(1,2);
return 0;
}

返汇编分析

image-20240529201202725

3.无参有返回值

代码

int fun3()
{
return 8+7;
}
int main(int argc, char* argv[])
{
fun3();
return 0;
}

反汇编分析

image-20240529202025082

有参数有返回值

代码

int fun4(int x,int y)
{
return x+y;
}
int main(int argc, char* argv[])
{
fun4(3,7);
return 0;
}

反汇编分析

image-20240530161324920

作业:使用两个数相加和三个数相加(应用两个数相加函数)的函数,编写实现五个数相加的函数,分析反汇编

代码

int fun1(int x,int y)
{
return x+y;
}
int fun2(int x,int y,int z)
{
int m;
m = fun1(x,y);
return fun1(m,z);
}
int fun3(int a,int b,int c,int d,int e)
{
int m,n;
m = fun1(a,b);
n = fun2(c,d,e);
return m+n;
}
int main(int argc, char* argv[])
{
fun3(1,3,5,7,9);
return 0;
}

反汇编分析

duizhan_Sheet1

本文作者:yee-l

本文链接:https://www.cnblogs.com/yee-l/p/18232846

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   yee-l  阅读(5)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起