[英]StackOverflowException
StackOverflowException是硬编码或依赖于运行代码的机器的条件?
我几乎可以肯定后者,但我的搜索失败了,在这里没有提出足够的问题。
从文档 :
当执行堆栈溢出时抛出...因为它包含太多嵌套方法调用。
由于堆栈的大小是依赖于体系结构的,甚至可以在机器上覆盖,是的,这个值不是硬编码的,尽管它在Windows上通常是非常静态的。 如果我没记错的话,默认情况下它的大小是1MB。
虽然不是您问题的完美匹配,但另请参阅:
堆栈帧将根据操作系统的寻址模式而有所不同。 我相信x64使用稍大的堆栈帧。 请记住,进程空间比x86增长得更多,所以总体而言,如果RAM和交换文件大小不成问题,您应该能够将堆栈配置为接受x64上的更多帧。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.