3.2.3 子程序调用与堆栈管理 3.2.3 子程序调用与堆栈管理 在现代计算机体系结构中,子程序(Subroutine)或函数(Function)的调用机制是程序执行流程得以模块化、复用和递归的核心支柱。然而,这一看似“理所当然”的能力背后,隐藏着一套精密而脆弱的运行时支撑机制——堆栈(Stack)管理。它不仅决定了程序能否正确跳转、返回,更直接影响内存安全、性能表现乃至系统稳定性。本文将深入剖析子程序调用过程中堆栈的运作机理,从硬件寄存器布局、调用约定(Calling Convention)、帧指针(Frame Pointer)的作用,到实际代码中的栈帧构建、参数传递、局部变量分配,再到常见陷阱如栈溢出、栈破坏的诊断与防范,力求为读者提供一套可落地、可调试、可优化的实践指南。