[C++]笔记-函数的栈空间(避免栈空间溢出)

news2024/12/26 17:15:02
  • 错误1 当数组的内存占用较大时,会引发异常
#include <iostream>
using namespace std;
int main() {

    char buff[2000000];
    cout << (int)buff[sizeof(buff) - 1] << endl;

 

  •  错误 2
    • 当调用次数较小的时候,栈内存还没有满,可以输出,该地址相减除以1024等于100,就是每调用一次函数,分配的内存数,

  • 当调用函数次数较大时候,栈内存爆掉了,就会引发异常
  • 当n=20时候

  •  内联函数inline:
    • 可以解决该函数调用时间上的问题,可以缩短调用时间
    • 但是会将主调函数编译后的代码块变得十分 "臃肿"
    • inline定义的函数,在编译时,会将该函数的函数体直接插入到调用处
    • 就相当于内联函数的函数体在调用出重新写了一遍

 总结:

  • 栈的内存默认为2兆,内存可以修改
  • 站内存储的是非new或molloc出来的变量,没调用一次函数,就会在栈内开辟一段空间,大小为该函数内所有变量的内存和,当内存过大时,栈爆掉就会引发异常
  • 程序是从高内存向低内存进行存储的,两个相邻空间的内存地址相减就能得到
  • 每分配一块空间,这块内存空间就叫做 " 栈帧 "

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/887909.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

​《乡村振兴战略下传统村落文化旅游设计 》在2023年畅销榜排名465位

​《乡村振兴战略下传统村落文化旅游设计 》在2023年畅销榜排名465位

T01西门子#将博图触摸屏中使用的外部图片全部导出

方法一&#xff1a;直接在博图软件WINCC中 点击图片右击 缺点&#xff1a;用自带的画图软件打开保存后无法保留透明。 方法二&#xff1a;使用官方软件导出 优点&#xff1a;快速批量全部导出&#xff0c;保留文件原格式。 下载地址&#xff1a; 将图形从 WinCC (TIA Portal) …

理解变分自编码器(VAE)

转载翻译自&#xff1a;https://towardsdatascience.com/understanding-variational-autoencoders-vaes-f70510919f73 介绍 在过去几年中&#xff0c;基于深度学习的生成模型因为在该领域中取得了一些惊人的进展而越来越受到关注。依靠大量的数据、精心设计的网络架构和智能训…

日志系统——实用类设计,日志等级类设计,日志消息类设计

一&#xff0c;实用类设计 该类主要是提前完成一些后面会用到的零碎通用的功能接口&#xff0c;主要有下面几个 1.获取系统时间&#xff1a;这里我们直接用time()函数获取时间返回 2.判断文件是否存在&#xff1a;判断文件我们调用系统接口&#xff0c;stat()&#xff0c;如下所…

Linux命令200例:top是一个基于终端的实时系统监控工具(常用)

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌。CSDN专家博主&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &…

新款2023奥迪A5新车32.24,这款车怎么样?

奥迪公司近期发布了新款A5车型&#xff0c;全国起售价为32.24万元。这款新车凭借其精致的设计和出色的实用性&#xff0c;吸引了大量消费者的关注。本文将结合个人经验和市场调研&#xff0c;对这款新车的特性进行深入剖析。 首先&#xff0c;奥迪A5的外观设计完美融合了实用性…

16.5 【Linux】SELinux 初探

16.5.1 什么是 SELinux SELinux是“ Security Enhanced Linux ”的缩写&#xff0c;字面上的意义就是安全强化的 Linux。 当初设计的目标&#xff1a;避免资源的误用 SELinux 是由美国国家安全局 &#xff08;NSA&#xff09; 开发的&#xff0c;当初开发这玩意儿的目的是因…

Centos7完全卸载已安装的Nginx

查看服务器上安装的nginx版本号&#xff0c;主要是通过ngix的-v或-V选项 Linux下查看Nginx安装目录、版本号信息? -v 显示 nginx 的版本。 -V 显示 nginx 的版本&#xff0c;编译器版本和配置参数。 [rootwww ~]# /usr/local/nginx/sbin/nginx -v nginx version: nginx/1.…

移动硬盘已识别但无法读取怎么办?

移动硬盘已识别但无法读取问题是一个比较常见的问题&#xff0c;通常会以“硬盘无法访问”的提示弹窗形式出现&#xff0c;也曾让很多人苦闷烦恼不已。那么具体的移动硬盘无法读取原因是什么呢&#xff1f; 移动硬盘无法读取的原因 硬盘驱动器可能是没有分区的新驱动器。如果您…

记一次:线程池源码解析

前言&#xff1a;很多时候我们需要使用线程池来处理逻辑&#xff0c;但实际上线程池是如何添加线程&#xff0c;如何执行的呢&#xff1f; 0&#xff1a;创建线程池--略&#xff08;7个参数&#xff09; 1&#xff1a;提交线程池源码 public void execute(Runnable command)…

基于 spring boot 的毕业生信息招聘管理系统【源码在文末】

向上的路&#xff0c;并不拥挤&#xff0c;拥挤是因为大部分人选择了安逸 大学生嘛&#xff0c;论文写不出&#xff0c;代码搞不懂不要紧&#xff0c;重要的是&#xff0c;从这一刻就开始学习&#xff0c;立刻马上&#xff01; 今天带来的是最新的选题&#xff0c;基于 spring…

Python绘图系统5:自定义一个坐标设置控件

文章目录 封装成类数据输入方案设置数据源代码 Python绘图系统&#xff1a;将matplotlib嵌入到tkinter &#x1f4c8;简单的绘图系统 &#x1f4c8;数据导入&#x1f4c8;三维绘图系统 封装成类 xyz这三行其实从代码的角度来说是完全一样的&#xff0c;而且在写这三行组件的时…

Python学习笔记_基础篇(九)_面向对象编程

本篇内容: 1、反射2、面向对象编程3、面向对象三大特性4、类成员5、类成员修饰符6、类的特殊成员7、单例模式 反射 python中的反射功能是由以下四个内置函数提供&#xff1a;hasattr、getattr、setattr、delattr&#xff0c;改四个函数分别用于对对象内部执行&#xff1a;检…

VS2012+AO 10.2.2 项目错误 之内部编译器错误: 步骤“EMIT”

调试时异常消息&#xff1a; 内部编译器错误: 步骤“EMIT” 内部编译器错误: 步骤“COMPILE”的符号 内部编译器错误: 步骤“COMPILE”的符号“<全局命名空间>” 内部编译器错误(0xc0000005 位于地址 00C9FDDC 处): 可能的原因是“CODEGEN”。 好好的项目&…

【逐步剖C++】-第一章-C++入门知识

前言&#xff1a;本文主要介绍有关C入门需掌握的基础知识&#xff0c;包括但不限于以下几个方面&#xff0c;这里是文章导图&#xff1a; 本文较长&#xff0c;内容较多&#xff0c;大家可以根据需求跳转到自己感兴趣的部分&#xff0c;希望能对读者有一些帮助 那么本文也主要以…

springcloud3 hystrix实现服务降级的案例配置2

一 服务降级的说明 1.1 服务降级说明 "服务器忙&#xff0c;请稍后在试"不让客户达等待&#xff0c;立即返回一个友好的提示。 1.2 服务降级的触发情况 1.程序运行异常&#xff1b; 2.超时&#xff1b; 3.服务熔断触发服务降级&#xff1b;4 .线程池/信号量打…

Linux命令200例:ps用于查看当前系统中运行的进程信息(常用)

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌。CSDN专家博主&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &…

【Python】Web学习笔记_flask(5)——会话cookie对象

HTTP是无状态协议&#xff0c;一次请求响应结束后&#xff0c;服务器不会留下对方信息&#xff0c;对于大部分web程序来说&#xff0c;是不方便的&#xff0c;所以有了cookie技术&#xff0c;通过在请求和响应保温中添加cookie数据来保存客户端的状态。 html代码&#xff1a; …

redis Windows版本安装过程(5.0.14)

官网不提供Windows版本的redis安装包&#xff0c;但可以在GitHub网站上找到redis的安装包&#xff1a; Releases tporadowski/redis GitHub &#xff08;相比较Linux其他版本的Redis,Windows版的redis的缺点是版本比较老&#xff0c;官方不提供且不更新&#xff09; 1、zip…

界面组件Telerik UI for WinForms R2 2023——拥有VS2022暗黑主题

Telerik UI for WinForms拥有适用Windows Forms的110多个令人惊叹的UI控件。所有的UI for WinForms控件都具有完整的主题支持&#xff0c;可以轻松地帮助开发人员在桌面和平板电脑应用程序提供一致美观的下一代用户体验。 Telerik UI for WinForms R2 2023于今年6月份发布&…