内存分区模型概念与示例,能否详细浅析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1487个文字,预计阅读时间需要6分钟。
目录+初步了解C++内存分区模型+程序运行前+内存分区代码示例+初步了解C++内存分区模型+在理解内存分区之前,我们先来谈谈为什么需要进行内存分区。在进行了内存分区之后,在不同的区域存放不同的数据。
目录
- 初识C++内存分区模型
- 程序运行前
- 内存分区代码示例
初识C++内存分区模型
在了解内存分区之前,我们先来聊一聊为什么要进行内存分区。在进行了内存分区之后,在不同的区域存放的数据,会有不同的生命周期,从而会让程序员的编程变得更加灵活。
我们这次讨论的内存模型是将内存划分为四部分的版本,也是笔者在和黑马学习过程中学习到的版本。
而C++在程序运行的过程中,将内存分为四个区域:
- 代码区
存放函数的二进制代码,即CPU执行的机器指令,由操作系统进行管理。
- 全局区
存放全局变量、静态变量(static,分为全局与局部静态变量)和部分常量。
- 栈区
由编译器自动分配和释放,存放函数的参数值、局部变量、局部常量等。
- 堆区
由程序员进行分配和释放,而如果程序员不释放,则在程序结束运行时,由操作系统来进行回收。
程序运行前
程序编译后,会生成可执行程序,而在该程序未执行之前,内存分为代码区和全局区两个区域。
代码区
存放函数的二进制代码,即CPU执行的机器指令,由操作系统进行管理。
本文共计1487个文字,预计阅读时间需要6分钟。
目录+初步了解C++内存分区模型+程序运行前+内存分区代码示例+初步了解C++内存分区模型+在理解内存分区之前,我们先来谈谈为什么需要进行内存分区。在进行了内存分区之后,在不同的区域存放不同的数据。
目录
- 初识C++内存分区模型
- 程序运行前
- 内存分区代码示例
初识C++内存分区模型
在了解内存分区之前,我们先来聊一聊为什么要进行内存分区。在进行了内存分区之后,在不同的区域存放的数据,会有不同的生命周期,从而会让程序员的编程变得更加灵活。
我们这次讨论的内存模型是将内存划分为四部分的版本,也是笔者在和黑马学习过程中学习到的版本。
而C++在程序运行的过程中,将内存分为四个区域:
- 代码区
存放函数的二进制代码,即CPU执行的机器指令,由操作系统进行管理。
- 全局区
存放全局变量、静态变量(static,分为全局与局部静态变量)和部分常量。
- 栈区
由编译器自动分配和释放,存放函数的参数值、局部变量、局部常量等。
- 堆区
由程序员进行分配和释放,而如果程序员不释放,则在程序结束运行时,由操作系统来进行回收。
程序运行前
程序编译后,会生成可执行程序,而在该程序未执行之前,内存分为代码区和全局区两个区域。
代码区
存放函数的二进制代码,即CPU执行的机器指令,由操作系统进行管理。

