栈空间最大值问题
来源:http://www.tudoupe.com时间:2022-05-16
目录
- ? 前言
- ? 简介
- ? 栈大小
- * 视窗操作系统
- ? linux平台
- * 循环功能对储存规模的影响
- ? 修改栈大小
- * 视窗操作系统下
- 在Linux平台
- ? 总结
? 前言
如果有误解,请记住,我们都在分享和成长。 您想要对玫瑰手给予一些信用和支持吗?
? 简介
随后是结论,然后是核查。
Windows 上的库存大小记录在可执行文件中,由编译器设置决定, VS2013 中的库存大小默认设定为 1M 。
Linux系统中坑的大小由操作系统决定,操作系统默认定在8M。
本文测试环境如下:
Windows平台( vs2013, x86)
7厘米是Linux平台
? 栈大小
在Windows和Linux平台上的发言
* 视窗操作系统
先看一段正确代码:
结果:
先看一段错误代码:
溢流问题出现于以下几方面:
结论:
该程序在993时* 1024分正常,在994时* 1024分出现溢出。它可能包含几公里的信息,所以实际为1米。
? linux平台
在Linux上,可用下列命令来确定存储的大小:
Linux平台的默认大小为 8M( 8192) 。
下面进行代码测试。
测试代码1:
结果:
测试代码2:
结果:
结论:
程序正常为8185*1024,溢出为8186*1024。它可能包含几k's的信息,所以实际上为8M。
* 循环功能对储存规模的影响
先看一段错误代码:
结果:
正确代码:
结果:
结论:
实验发现,在Linux环境中,我还利用了 默认的 8M 存储空间。递归9次,函数的本地可变分配空间只能为 818* 1024 。这是超过这一范围的储存设施首次过于拥挤。当地可变空间分布远远小于非遣返。这是因为,当返回量上升时,函数中本地变量的存储能力会增加。不会被释放,所以,在可行的最大限度内,避免使用许多层次的再生功能。
? 修改栈大小
* 视窗操作系统下
项目 -- -- 属性 -- -- 链接 -- -- 命令修改项目中的储存空间 -- -- " 属性 -- -- 系统如下:
在Linux平台
对上述代码的暂时修改:
? 总结
大型阵列和大型物体没有在存储空间中定义,而是储存在堆叠中。
? 在可行的最大限度内,避免使用许多层次的再生功能。
相关新闻
- 2022-08-04 WPF的由来
- 2022-08-04 Win11勒索软件防护怎么打开?Win11安
- 2022-08-04 Windows系统jdk的配置
- 2022-08-04 Windows10 OneNote怎么重新登录?如何重
- 2022-08-04 超好用的 Windows 效率工具推荐
- 2022-08-04 Windows如何在CMD或PowerShell中配置代理
- 2022-08-04 powershell和cmd对比
- 2022-08-04 【QT】Windows下QT下载安装
- 2022-08-04 windows下 C++ 实现类属性的get和set方
- 2022-08-04 Win11快速助手在哪里?Win11打开快速
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
