编译原理(六)运行时存储空间的组织和行为2

堆管理

计算机内存分层

  • 现代计算机都设计成程序员不用关心内存子系统的细节就可以写出正确的程序
  • 程序的效率不仅取决于被执行的指令数,还取决于执行每条执行需要多长时间
  • 执行一条指令的时间区别非常可观
  • 差异源于硬件技术的基本局限:构造不了大容量的告诉存储器
  • 数据以块(缓存行、页)为单位在相邻层次之间进行传送
  • 数据密集型程序可以从恰当利用内存子系统中特点

编译原理(六)运行时存储空间的组织和行为2

上面main函数执行的时候会报错,因为当用strcpy进行字符串拷贝的时候,将控制连占用的地址占用掉了,导致main函数结束后,无法返回。