正 文:
今天在编译Delphi程序时,执行一个内存记忆体的时候,提示:Project.exe raised exception class EStackOverflow with message : Stack overflow.这是堆栈溢出错误。
原因就是字符串所存储的内容超过DELPHI系统堆栈默认的大小 16*100000 。我们可以改大这个默认值。
那么如何给我们的应用程序分配更大的内存空间以避免堆栈溢出呢?其实,在每个Delphi项目中都有一个设置应用程序内存大小的地方。
解决方法:
点击 Project 菜单中 -> Options -> Linker -> Memory sizes -> 按照需要,改变 Max stack size 的大小。比如飘易这里改成了 1,000,000 ,即 16*1,000,000 。
注:Max stack size 的默认大小为 16*100,000 ,允许的范围在 65,536-16,777,216 。