增加程序运行的堆栈大小

时间:2013-04-08 19:56:16

标签: c++

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

3 个答案:

答案 0 :(得分:2)

如果是a * NIX,请使用

ulimit -s <number_in_kb>

在运行程序之前,您已在环境中进行了设置。您也可以按照this answer中的描述以编程方式设置它。

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

答案 1 :(得分:0)

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

EDITBIN.EXE / STACK:yourprogram.exe

答案 2 :(得分:0)

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