C语言堆栈大小限制

博客围绕栈相关问题展开,提出默认栈大小、能否查看线程栈大小、栈最大单一使用量及单个局部变量最大大小等问题。介绍查看栈默认大小的命令,指出实际申请内存达不到默认值的原因是栈上申请内存大小限制。还提到栈最大单一使用量最好不超10000字节。

问题

1.默认栈大小是多少?
2.能否查看某个线程的栈大小?
3.栈最大单一使用量,单个局部变量最大大小?

查看栈默认大小

ulimit -s	#只查看栈默认限制大小,单位Kbytes
ulimit -a	#查看当前所有的资源限制,stack 字段,单位Kbytes

示例:输入ulimit -s

/ # ulimit -s
8192

示例:输入ulimit -a
在这里插入图片描述
注:实际使用时,比如默认8192Kbytes = 8M,实际申请内存达不到8M。

原因:栈(stack)上申请内存大小限制问题
https://blog.csdn.net/boyixuanbo/article/details/52864954

栈最大单一使用量

注:栈最大单一使用量最好不要超过10000个字节。(coverity检测会提醒报错)

参考资料

栈(stack)上申请内存大小限制问题
https://blog.csdn.net/boyixuanbo/article/details/52864954

C语言申请内存时堆栈大小限制
https://blog.csdn.net/u010144805/article/details/79462418

C语言堆栈入门——堆和栈的区别
https://www.cnblogs.com/jiahuafu/p/8575044.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值