我在面试中被问及堆和堆栈内存结构.那家伙问我堆叠有什么好处?我不确定他到底在做什么.还有其他方法可以设置地址空间来执行ac程序吗?
堆栈的好处是它允许直接和间接递归.在无堆栈语言(如Fortran)中,每个函数的局部变量都是全局分配的,所以如果你调用一个函数两次而不从它返回,你就会破坏你的返回地址并且你遇到了麻烦.此外,如果您在给定时间仅使用其中一些内存,Fortran为每个过程分配的内存效率不高.
正如Murali指出的那样,堆栈在堆上的好处是更有效的分配和释放.从技术上讲,栈可以指概念动态(调用)栈或它的内存部分,所以语言可以有一个调用堆栈是动态的堆空间分配,这可能更容易实现协同程序,延续和关闭.
| 归档时间: |
|
| 查看次数: |
785 次 |
| 最近记录: |