关于栈空间的大小

点击此处阅读原文

在进程的虚拟地址空间中,栈空间用来为函数开辟栈帧以及存放局部变量,栈空间相对于堆空间是较小的,但是这也不是绝对的,因为栈空间的大小是可以被改变的。

Linux

查看栈空间大小

在Linux环境下,可以通过ulimit -a来查看栈空间的大小:

关于栈空间的大小_第1张图片

stack size字段即代表栈空间的大小,可以看出Linux环境下默认的栈空间大小为8M

改变栈空间大小

使用ulimit -s [目标栈空间大小]可以改变系统的栈空间大小:

关于栈空间的大小_第2张图片

注意:千万不要将栈空间改为0,否则机器上的任何进程都不能运行,自然也不能重新改回来。

VS2017

默认栈空间大小

经过查阅资料得知,在VS2017上的默认栈空间大小为1M

更改栈空间大小

项目->属性->链接器->系统->栈空间保留大小,这样的更改方式只对本项目有效。

你可能感兴趣的:(Linux,操作系统)