共2条
1/1 1 跳转至页
heap,stack heap和stack的区别请教
问
请问heap和stack的区别,为什么在ADS1.2中heap,stack教要设定,
它们难道不是起一样的作用的 答 1: 简单地说!Heap存储全局静态变量, Stack存储局部变量! 另外Stack可以用来动态地分配内存块.这个在C++中用得比较多.C中不建议用库函数中带的动态分配函数来分配内存块,很容易产生内存泄漏! 答 2: andrewpei兄的讲解太好 andrewpei兄有水平,讲解的太好,困扰我很长时间的问题终于明白了。 答 3: "内存泄漏" 在这个里也存在?MMD 太可怕了。
唉,在PC上就和内存泄漏做斗争! 这里还要??? 答 4: 什么是内存泄漏?菜鸟问。 答 5: "Heap存储全局静态变量, Stack存储局部变量!"有待商榷不太想打字了,贴一篇大学生的学习笔记,非常详细:
http://www.cs.jcu.edu.au/Subjects/cp2003/1997/foils/heapAndStack/heapAndStack.html
"Heap存储全局静态变量, Stack存储局部变量!"有待商榷.
简单说来,线性内存空间分配为:
全局和静态变量
Heap区
stack区
Heap区有专用的数据结构在管理,当调用C库函数时,比如malloc,操作的就是heap空间;
stack区常被编译器用来维护运行时环境,比如保护临时变量,分配局部变量空间等等,所以有"基于栈的运行时环境".
当用c语言时, Heap和Stack的维护都由编译器和C库代码完成,对用户不可见.
哈哈,乱说了一通,真正要弄清楚的还是建议去看看编译原理_运行时环境一节和上面那个大学生的学习笔记 答 6: 能不能简单一点说一下,楼上的。
它们难道不是起一样的作用的 答 1: 简单地说!Heap存储全局静态变量, Stack存储局部变量! 另外Stack可以用来动态地分配内存块.这个在C++中用得比较多.C中不建议用库函数中带的动态分配函数来分配内存块,很容易产生内存泄漏! 答 2: andrewpei兄的讲解太好 andrewpei兄有水平,讲解的太好,困扰我很长时间的问题终于明白了。 答 3: "内存泄漏" 在这个里也存在?MMD 太可怕了。
唉,在PC上就和内存泄漏做斗争! 这里还要??? 答 4: 什么是内存泄漏?菜鸟问。 答 5: "Heap存储全局静态变量, Stack存储局部变量!"有待商榷不太想打字了,贴一篇大学生的学习笔记,非常详细:
http://www.cs.jcu.edu.au/Subjects/cp2003/1997/foils/heapAndStack/heapAndStack.html
"Heap存储全局静态变量, Stack存储局部变量!"有待商榷.
简单说来,线性内存空间分配为:
全局和静态变量
Heap区
stack区
Heap区有专用的数据结构在管理,当调用C库函数时,比如malloc,操作的就是heap空间;
stack区常被编译器用来维护运行时环境,比如保护临时变量,分配局部变量空间等等,所以有"基于栈的运行时环境".
当用c语言时, Heap和Stack的维护都由编译器和C库代码完成,对用户不可见.
哈哈,乱说了一通,真正要弄清楚的还是建议去看看编译原理_运行时环境一节和上面那个大学生的学习笔记 答 6: 能不能简单一点说一下,楼上的。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |