首页 电脑 电脑学堂 查看内容

深入理解 C 语言的函数调用过程

2016-9-7 18:22 961 0

摘要: 主要从进程栈空间的层面复习一下C语言中函数调用的具体过程,以加深对一些基础知识的理解。先看一个最简单的程序:主函数main里定义了4个局部变量,然后调用同文件里的foo1()函数。4个局部变量毫无疑问都在进程的栈 ...

主要从进程栈空间的层面复习一下C语言中函数调用的具体过程,以加深对一些基础知识的理解。

先看一个最简单的程序:

主函数main里定义了4个局部变量,然后调用同文件里的foo1()函数。4个局部变量毫无疑问都在进程的栈空间上,当进程运行起来后我们逐步了解一下main函数里是如何基于栈实现了对foo1()的调用过程,而foo1()又是怎么返回到main函数里的。为了便于观察的粒度更细致一些,我们对test.c生成的汇编代码进行调试。如下:

最新评论