C++ 中的堆栈或堆中的全局内存管理?

Global memory management in C++ in stack or heap?(C++ 中的堆栈或堆中的全局内存管理?)
本文介绍了C++ 中的堆栈或堆中的全局内存管理?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我在 C++ 应用程序中全局声明一个数据结构,它会消耗堆栈内存还是堆内存?

例如

结构 AAA{.../.../.../../..}arr[59652323];

解决方案

由于我对答案不满意,并希望同样的 karjatkar 想要学习的不仅仅是简单的是/否答案,所以你去吧.

通常一个进程会分配5个不同的内存区域

  1. 代码 - 文本段
  2. 初始化数据——数据段
  3. 未初始化的数据 - bss 段
  4. 堆栈

如果您真的想了解保存的内容,请阅读这些内容并为其添加书签:

If I declare a data structure globally in a C++ application , does it consume stack memory or heap memory ?

For eg

struct AAA
{

.../.../.
../../..
}arr[59652323];

解决方案

Since I wasn't satisfied with the answers, and hope that the sameer karjatkar wants to learn more than just a simple yes/no answer, here you go.

Typically a process has 5 different areas of memory allocated

  1. Code - text segment
  2. Initialized data – data segment
  3. Uninitialized data – bss segment
  4. Heap
  5. Stack

If you really want to learn what is saved where then read and bookmark these:

COMPILER, ASSEMBLER, LINKER AND LOADER: A BRIEF STORY (look at Table w.5)

Anatomy of a Program in Memory

这篇关于C++ 中的堆栈或堆中的全局内存管理?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Rising edge interrupt triggering multiple times on STM32 Nucleo(在STM32 Nucleo上多次触发上升沿中断)
How to use va_list correctly in a sequence of wrapper functions calls?(如何在一系列包装函数调用中正确使用 va_list?)
OpenGL Perspective Projection Clipping Polygon with Vertex Outside Frustum = Wrong texture mapping?(OpenGL透视投影裁剪多边形,顶点在视锥外=错误的纹理映射?)
How does one properly deserialize a byte array back into an object in C++?(如何正确地将字节数组反序列化回 C++ 中的对象?)
What free tiniest flash file system could you advice for embedded system?(您可以为嵌入式系统推荐什么免费的最小闪存文件系统?)
Volatile member variables vs. volatile object?(易失性成员变量与易失性对象?)