修改栈的大小

文章目录

 

一.为什么要修改栈的大小

二.Linux环境下改变栈的大小

三.改变VS下栈的空间大小


一.为什么要修改栈的大小

有时候程序需要大量的数据,如果栈空间不够,就会出现错误。通常情况下,VS下栈大小为1M,Linux下有的为10M。

二.Linux环境下改变栈的大小

 1.通过 ulimit -s查看Linux的默认栈空间大小

修改栈的大小

 

我的栈空间大小为10240kB,即为10M(1M=1024KB)

2.临时修改栈的大小

  例如 ulimit -s 102400,将栈的空间大小改为100M

关闭终端后栈就会恢复默认的空间大小

3.永久改变栈空间大小

        方法一:/etc/rc.local内加入ulimit -s 102400,则可以开机就设置栈空间大小为100M

       方法二:修改配置文件/etc/security/limits.conf,添加 *soft stack 102400

三.改变VS下栈的空间大小

      步骤:项目->属性->连接器->系统->堆栈保留大小->输入大小按确定保存

      我的是VS2012如下图所示:

 

修改栈的大小