在进程的虚拟地址空间中,栈空间用来为函数开辟栈帧以及存放局部变量,栈空间相对于堆空间是较小的,但是这也不是绝对的,因为栈空间的大小是可以被改变的。
Linux
查看栈空间大小
在Linux环境下,可以通过ulimit -a来查看栈空间的大小:
stack size字段即代表栈空间的大小,可以看出Linux环境下默认的栈空间大小为8M。
改变栈空间大小
使用ulimit -s [目标栈空间大小]可以改变系统的栈空间大小:
注意:千万不要将栈空间改为0,否则机器上的任何进程都不能运行,自然也不能重新改回来。
VS2017
默认栈空间大小
经过查阅资料得知,在VS2017上的默认栈空间大小为1M。
更改栈空间大小
项目->属性->链接器->系统->栈空间保留大小,这样的更改方式只对本项目有效。

博客介绍了进程虚拟地址空间中栈空间的用途,且其大小可改变。重点讲述了在Linux环境下查看和改变栈空间大小的方法,Linux默认栈空间为8M;还提及VS2017默认栈空间为1M,以及只对本项目有效的更改方式。


2405

被折叠的 条评论
为什么被折叠?



