用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.ofunction.o:     file format elf64-x86-64
收藏 打印