我正在寻找一种方法来增加堆栈大小,以便我的程序运行,原因是我有一个递归调用导致堆栈溢出。无论如何我可以改变默认的堆栈大小吗?
答案 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链接器选项来增加它。