0
点赞
收藏
分享

微信扫一扫

函数栈帧的创建与销毁底层逻辑简述

大雁f 2022-03-11 阅读 61

目录

前言:

一、寄存器

二、栈顶、栈底指针

三、C语言程序运行大致过程

四、一个简单程序运行的剖析

(1)main函数的调用

(2)main函数调用其中的函数

六、程序的最后

总结


前言:

在vs2013的环境下,通过从内存、反汇编代码的角度对程序运行进行观察,来探究一个函数的栈帧的创建于销毁的过程


一、寄存器

二、栈顶、栈底指针


三、C语言程序运行大致过程


四、一个简单程序运行的剖析

(1)main函数的调用

(2)main函数调用其中的函数


六、程序的最后


总结

本篇对C语言中,函数调用时,其底层的一些剖析。

具体对局部变量是如何创建的为什么局部变量的值未初始化是随机值函数是如何传参其传参顺序是怎样的形参与实参的底层关系函数调用是怎么做的以及函数调用结束后是如何返回的这些问题进行了一些分析,希望能让大家更加了解C语言~


tips:以上函数调用过程都是基于vs2013的编译器下进行,具体实践时不同的编译器可能会有些许出入,不过整体上都是大同小异的。

举报

相关推荐

0 条评论