这只是一个“确定”的问题。 .NET 4中x64系统的递归/循环是否存在任何已知的特殊限制/错误?
我的情况非常简单 - 一个程序在任何x86系统上运行正常,但它在x64系统上崩溃与StackOverflowException(该程序包含一些xml /映射代码,包含在几个地方的递归等)。
目前解决此问题的唯一方法是在程序集上调用corflags /32BIT+
(程序开始正常运行)。但我想知道 - 是否有任何特殊情况会导致x64上出现错误/问题?
感谢。
答案 0 :(得分:9)
指针需要更多内存来表示x64(实际上是两倍)。因此,您将使用更多内存,因此深度递归可能会导致x64上的堆栈溢出早于x86上的堆栈溢出。您可能需要尝试使用raising the stack limit来缓解此问题。