函数工作的基本原理:

这些代码区中的精确跳转都是在栈的巧妙配合下完成的。
当函数被调用时,系统会为这个函数开辟一个新的栈帧。这个栈帧中的内存空间被函数独占,正常情况下是不会和其他的函数共享的。当函数返回时,系统会弹出该函数索对应的栈帧。
如图:


每个函数都独占自己的栈帧空间,当前正在运行的函数的栈帧总是在栈顶。

函数调用约定描述了函数参数传递的方式和栈协同工作的技术细节。
不同的编译器实现函数调用的原理基本相同,但具体的约定还是有区别的。包括参数入栈顺序、栈的恢复等。

整理下函数调用的基本过程;

函数返回的步骤如下:

posted @
2019-03-13 08:26 卿先生 阅读(
...) 评论()
编辑 收藏
相关文章:
-
2021-08-25
-
2022-12-23
-
2022-12-23
-
2021-06-08
-
2021-04-10
-
2021-06-13
-
2021-09-17
猜你喜欢
-
2023-03-16
-
2022-12-23
-
2021-05-29
-
2022-12-23
-
2021-04-10
-
2021-12-27
-
2021-07-07
相关资源
-
下载
2022-12-05
-
下载
2023-01-15
-
下载
2021-06-06