增加要运行的程序的堆栈大小
Increase stack size for a program to run
我正在寻找一种增加堆栈大小的方法,以使我的程序运行,原因是我有一个递归调用导致堆栈溢出。我可以改变默认的堆栈大小吗?
如果是*NIX,则使用
ulimit -s <number_in_kb>
您应该在运行程序之前在环境中设置它。您也可以按照这个答案中的描述以编程方式设置它。
可以通过ulimit -a
命令查看当前值
使用editbin修改程序的堆栈大小:
EDITBIN.EXE/STACK: yourprogram.exe
依赖于编译器。在Visual studio中,堆栈大小固定为1mb。您可以使用/STACK链接器选项来增加它
相关文章:
- 为什么在堆栈和堆上创建变量会产生相同的程序集代码?
- 我的堆栈和库存清单程序的结构有什么问题?
- 堆栈粉碎终止程序
- 如何从 x64 程序集中的堆栈中获取参数?
- C++,在对象内分配多个数据时,堆栈分配是否更有效? 在下面的程序中,类A_Heap的效率会更低吗?
- 在给定程序中降低矢量数组实现堆栈的时间复杂度有哪些不同的可能方法?
- Haskell堆栈设置 - 无法识别CPP程序
- 如何制作硬编码堆栈,而不是硬编码并保持程序正常运行
- 使用 valgrind 的地块测量 c++ 应用程序的最大内存使用量(堆栈和堆)
- 当提供巨大的输入时,中止在堆栈操作程序中调用错误
- 如何在内联程序集中调用函数时保留堆栈
- 堆栈程序输入名称并重印在C 中
- 程序终止时堆栈损坏?
- 有没有办法避免在发生堆栈粉碎时终止程序
- 如何在应用程序开始时破坏堆栈
- 我无法获得由 Clang 构建的优化 NDK 应用程序的调用堆栈
- C++堆栈:程序未执行
- C++ 堆栈程序 指针问题的 Wsing 数组 新字符[len],其中 len 为 2 创建 16 个字符
- 在堆栈程序中实现一个计数器,用于计算对象移动的次数
- 试图写一个c++堆栈程序