Vancamel

千山鸟飞绝,万径人踪灭。 孤舟蓑笠翁,独钓寒江雪。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

堆:是new申请的,手动申请与释放,申请大小不受限制(只在内存够),

栈:系统自动申请与回收,不需要手动释放,但申请大小有限(在Win平台申请为1M, Mac平台为8M)

用Qt测试

在Qt的项目代码中,

在Qt的对话框中加入这段代码,然后调用显示对话框

char charStack[1024 * 1024];  在Win平台上用QtCreator编译,会崩溃,提示栈溢出

 

在mac 平台

char charStack[1024 * 1024 * 8]; 用Qt Creator编译,会崩溃,也是栈溢出

以前写代码都是new一个对象,这样方便重复使用。

其实还有一个重要的原因是栈申请的空间有限,如果数据量大会引起栈溢出,申请失败就崩澡了

 

posted on 2019-08-07 16:52  我醉欲眠  阅读(141)  评论(0编辑  收藏  举报