美文网首页
C++内存分布

C++内存分布

作者: 钟离惜 | 来源:发表于2020-09-22 22:33 被阅读0次

下面这张图很详细的描述了C++中各种内存区域。

内存分布

一般分为以下几个区域:

代码区

存放CPU执行的机器指令,代码区是可共享,并且是只读的。

数据区

静态变量(全局和局部)、已初始化的全局变量、常量数据(比如常量字符)。

BSS区

未初始化的全局变量和静态变量(会执行默认初始化)。

以上区域是代码未执行时就有的区域。
下面是代码执行时才有的区域。

栈区

由编译器自动分配释放,存放函数的参数值、返回值和局部变量(临时变量),在程序运行过程中实时分配和释放,栈区由操作系统自动管理,无须程序员手动管理。

堆区

堆是由malloc\new分配,使用free\delete函数来释放的内存,堆的申请释放工作由程序员控制,容易产生内存泄漏。

相关文章

  • C++

    排序算法总结 对十二种排序算法进行总结C++ 类内存分布 这里不妨说下 C++ 内存分布结构,我们来看看编译器是怎...

  • C++内存分布

    前言 之前阿里面试的时候有个面试官就问了我会不会"什么什么的内存模型",当时自己还不知道这个名词(知道概念,但确确...

  • C++内存分布

    下面这张图很详细的描述了C++中各种内存区域。 一般分为以下几个区域: 代码区 存放CPU执行的机器指令,代码区是...

  • 程序在内存中的分布

    C语言程序在内存中的分布 代码示例: C++程序在内存中的分布: 代码示例: 以上内容参考以下几篇文章: http...

  • C/C++内存相关

    1. C/C++语言内存分布 一个C/C++编译的程序所占用的系统内存一般分为以下几个部分的内容: 1) 字符起始...

  • C++类内存分布

    书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别...

  • C++类的内存分布

    使用 Microsoft Visual Studio 查看类的内存分布方式:项目—>属性—>C/C++—>命令行—...

  • c++内存管理

    c++内存管理长文 c++内存管理

  • 内存管理

    内容包括: C++内存管理 Java内存管理 C++内存管理 内存分配方式 在C++中,内存分成5个区,分别是栈、...

  • iOS - 对象内存分布

    [toc] 参考 对象内存分布 intro OC底层 我们平时编写的OC代码,底层实现其实都是C\C++代码 OC...

网友评论

      本文标题:C++内存分布

      本文链接:https://www.haomeiwen.com/subject/etmgyktx.html