重学计算机组成原理(六)- 函数调用怎么突然Stack Overflow了!

  1. 云栖社区>
  2. Java技术进阶>
  3. 博客>
  4. 正文

重学计算机组成原理(六)- 函数调用怎么突然Stack Overflow了!

javaedge 2019-08-15 22:51:58 浏览442
展开阅读全文

用Google搜异常信息,肯定都访问过Stack Overflow网站

全球最大的程序员问答网站,名字来自于一个常见的报错,就是栈溢出(stack overflow)

从函数调用开始,在计算机指令层面函数间的相互调用是怎么实现的,以及什么情况下会发生栈溢出

1 栈的意义

先看一个简单的C程序

  • function.c
    在这里插入图片描述
  • 直接在Linux中使用GCC编译运行
[hadoop@JavaEdge Documents]$ vim function.c
[hadoop@JavaEdge Documents]$ gcc -g -c function.c 
[hadoop@JavaEdge Documents]$ objdump -d -M intel -S function.o

function.o:     file format elf64-x86-64

网友评论

登录后评论
0/500
评论
javaedge
+ 关注
所属云栖号: Java技术进阶