可以参考这里的讨论:http://blog.csdn.net/lyyyuna/article/details/41211737
对高级语言编译的函数调用来说,堆栈方便/规范了调用与返回处理,但汇编因为是低级语言,控制更灵活,所以可以不用堆栈实现调用。
汇编也要用堆栈啊
POP
PUSH
不过C语言这些高级语言,在初始化时要预留一段空间用于处理后面可能出现的堆栈,也就是预留堆栈区,这个区域选得太小会导致后续程序无法运转,这里体现了C语言在某些时候不如汇编灵活