【发布时间】:2017-09-05 17:15:20
【问题描述】:
如何为具有深度递归调用的 C 程序增加堆栈的最大大小?项目是否有任何配置可以指定可执行文件的堆栈或堆大小?
【问题讨论】:
-
如果这是在 Linux 或其他 *nix 操作系统上,那么您可以在代码中设置堆栈大小 - 有关代码,请参阅 this question and answer。
-
我在 Windows 上使用 Cygwin 环境进行操作
-
相信cygwin也支持
getrlimit/setrlimit,所以建议试试看。 -
当然你可能需要调整
kStackSize——你认为你的程序需要多少堆栈空间? -
初始线程堆栈大小由链接器设置。您可以要求链接器在构建时增加它。