函数的栈空间是用于存放局部变量、函数返回地址以及函数参数等数据的内存区域,其大小是有限制的(VC6默认1M)。
局部变量占用空间太大或者函数的调用层次太深就会出现“stackoverflow”的情况。
解决:增大栈空间或者在堆上分配内存。
以VC6为例,如何增大栈空间:
Project->setting->link->category中选择output,修改stack的Reserve大于一定的值即可。
详细分析可参考文章:《解决Stack Overflow》
函数的栈空间是用于存放局部变量、函数返回地址以及函数参数等数据的内存区域,其大小是有限制的(VC6默认1M)。
局部变量占用空间太大或者函数的调用层次太深就会出现“stackoverflow”的情况。
解决:增大栈空间或者在堆上分配内存。
以VC6为例,如何增大栈空间:
Project->setting->link->category中选择output,修改stack的Reserve大于一定的值即可。
详细分析可参考文章:《解决Stack Overflow》