2014年1月19日

Stack overflow 编译能通过,运行时出现Stack overflow

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

posted @ 2014-01-19 12:42 song2013 阅读(329) 评论(0) 推荐(0) 编辑

导航