On the way

技术人转产品之路,2015重新出发!

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

2012年5月11日

摘要: 大家都知道,Windows程序的内存机制大概是这样的,全局变量(局部的静态变量本质也属于此范围)存储于堆内存,该段内存较大,一般不会溢出; 函数地址、函数参数、局部变量等信息存储于栈内存,VC6中栈内存默认大小为1M,对于当前日益扩大的程序规模而言,稍有不慎就可能出问题。(动态申请的内存即new出来的内存不在栈中)即如果函数这样写:void test_stack_overflow(){char* chdata = new[2*1024*1024];delete []chdata;}是不会出现这个错误的,而这样写则不行:void test_stack_overflow(){char chdata 阅读全文
posted @ 2012-05-11 10:08 On the way 阅读(5156) 评论(0) 推荐(0) 编辑