代码改变世界

利用压力测试来保证软件的质量(八) 栈溢出问题

2010-09-10 21:12  王克伟  阅读(357)  评论(0编辑  收藏  举报

函数的递归调用不小心就会造成栈溢出,死循环的递归那是没话说了,CE上默认的线程栈大小为64K(?),在创建线程时可以指定大小,但是在CE 6.0之前,进程的内存限制为最大32M。

 

另外使用局部变量来存放一个较大的东西也是危险的,也很容易造成栈溢出,大内存应该使用堆(私有堆、公共堆)。

PS:如果你遭受较多的内存泄露,你应该更怀疑是堆出了问题,而不是栈。