kal*_*kal 1 c++ compiler-construction
在C++中,在编译器放弃之前,堆栈段可以增长多少,并说它不能为堆栈分配更多内存.
在linux(fedora)32位机器上使用gcc.
Ale*_*dru 10
在UNIX下,如果您正在运行bash run
$ ulimit -a
Run Code Online (Sandbox Code Playgroud)
它将列出各种限制,包括堆栈大小.我的是8192kb.您可以使用ulimit更改限制.
此外,您可以使用ulimit()函数从程序中设置各种限制.
$ man 3 ulimit
Run Code Online (Sandbox Code Playgroud)
在Windows下,请参阅StackReserveSize和StackCommitSize
实际上,堆栈地址从高地址开始(在32位平台上,接近3GB限制),并在内存分配从低地址开始时减少.这允许堆栈和内存增长,直到整个内存耗尽.