有关堆栈分配的许多相关问题是可以理解的
但是在各种*nix机器上,我可以发出bash命令
ulimit -s unlimited
Run Code Online (Sandbox Code Playgroud)
或者csh命令
set stacksize unlimited
Run Code Online (Sandbox Code Playgroud)
这如何改变程序的执行方式?是否对程序或系统性能有任何影响(例如,为什么这不是默认值)?
如果更多的系统细节是相关的,我主要关注在x86_64硬件上运行的Linux上使用GCC编译的程序.
阅读有关如何增加使用gnu编译的c ++应用程序的堆栈大小的信息,在编译时,我知道可以在程序开始时使用setrlimit来完成.然而,我找不到任何关于如何使用它的成功示例以及程序的哪个部分应用它以获得c ++程序的64M堆栈大小,有人可以帮助我吗?
Thanlks