1

我正在寻找一种增加堆栈大小的方法,以便我的程序运行,原因是我有一个导致堆栈溢出的递归调用。无论如何我可以更改默认堆栈大小吗?

4

3 回答 3

2

如果它是 *NIX,请使用

ulimit -s <number_in_kb>

在运行程序之前,您应该在您的环境中设置它。您也可以按照此答案中的描述以编程方式设置它。

您可以通过运行查看当前值ulimit -a

于 2013-04-08T19:59:23.273 回答
0

使用 editbin 更改程序的堆栈大小:

EDITBIN.EXE /STACK: yourprogram.exe

于 2013-04-08T19:58:15.250 回答
0

它的编译器依赖。在 Visual Studio 中,stacksize 固定为 1 MB。您可以使用 /STACK 链接器选项增加它。

于 2013-04-08T20:01:51.537 回答