科创园

科创园地,分享技术知识,为科技助力发展,贡献一己之力。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年4月7日

摘要: 为何C语言(的函数调用)需要堆栈,而汇编语言却不需要堆栈之前看了很多关于uboot的分析,其中就有说要为C语言的运行,准备好堆栈。而自己在Uboot的start.S汇编代码中,关于系统初始化,也看到有堆栈指针初始化这个动作。但是,从来只是看到有人说系统初始化要初始化堆栈,即正确给堆栈指针sp赋值,但是却从来没有看到有人解释,为何要初始化堆栈。所以,接下来的内容,就是经过一定的探究,试图来解释一下,为何要初始化堆栈,即:为何C语言的函数调用要用到堆栈,而汇编却不需要初始化堆栈。要明白这个问题,首先要了解堆栈的作用。关于堆栈的作用,要详细讲解的话,要很长的篇幅,所以此处只是做简略介绍。总的来说,堆 阅读全文

posted @ 2012-04-07 10:42 科创园 阅读(3830) 评论(1) 推荐(0) 编辑