相关疑难解决方法(0)

如何更改.NET程序的堆栈大小?

我有一个程序,它执行递归调用20亿次,堆栈溢出.我做了更改,然后它仍然需要40K递归调用.所以我需要几个MB堆栈内存.我听说堆栈大小默认为1MB.我尝试在线搜索.有人说在视觉工作室里去了属性 - >链接器.........但我找不到它.

有谁知道如何增加它?另外我想知道我是否可以在我的C#程序中设置它?

PS我使用的是32位winXP和64位win7.

.net stack-overflow stack resize

30
推荐指数
3
解决办法
2万
查看次数

自递归函数限制

抱歉,如果这是错误的站点,但让我们想象一个函数 (C#):

public int Increment(int i)
{
    int j = i;
    if (j++ < Math.Pow(10, 12)) j = Increment(j);

    return j;
}
Run Code Online (Sandbox Code Playgroud)

这个函数没什么用,只是一个例子。我可以想象,自递归“循环”的最终递归返回值将通过每个递归函数将结果传递回,将每个方法返回到前一个递归,然后最终返回到初始函数调用,返回到调用者功能。

我的问题是我们可以有多少次递归,是什么导致了这个限制?谢谢。

c# recursion

0
推荐指数
1
解决办法
4227
查看次数

标签 统计

.net ×1

c# ×1

recursion ×1

resize ×1

stack ×1

stack-overflow ×1