内存分区模型在核心编程中是如何实现的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计984个文字,预计阅读时间需要4分钟。
1. 概述:C++在执行时,将内存大致分为四个区域: 1. 代码区:存放程序指令的二进制代码,由操作系统管理。 2. 全局区:存放全局变量、静态变量和常量。 3. 栈区:存放局部变量和函数调用时的上下文信息,由编译器自动分配和释放。 4. 堆区:动态分配的内存区域,由程序员手动管理。
一、概述
c++在执行时,将内存大致分为4个区域
1、代码区:存放函数体的二进制代码,由操作系统进行管理
2、全局区:存放全局变量和静态变量以及常量
3、栈区:由编译器自动分配释放,存放函数的参数,局部变量等
4、堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收
内存四区意义:
不同区域存放的数据,赋予不同的生命周期,便于更大的灵活编程
二、程序运行前
程序编译后,生成exe可执行程序,未执行exe程序前分为两个区域
1、代码区
存放cpu执行的机器指令
代码区是共享的,目的是:对应频繁被执行的程序,仅需在内存有一份代码即可。
本文共计984个文字,预计阅读时间需要4分钟。
1. 概述:C++在执行时,将内存大致分为四个区域: 1. 代码区:存放程序指令的二进制代码,由操作系统管理。 2. 全局区:存放全局变量、静态变量和常量。 3. 栈区:存放局部变量和函数调用时的上下文信息,由编译器自动分配和释放。 4. 堆区:动态分配的内存区域,由程序员手动管理。
一、概述
c++在执行时,将内存大致分为4个区域
1、代码区:存放函数体的二进制代码,由操作系统进行管理
2、全局区:存放全局变量和静态变量以及常量
3、栈区:由编译器自动分配释放,存放函数的参数,局部变量等
4、堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收
内存四区意义:
不同区域存放的数据,赋予不同的生命周期,便于更大的灵活编程
二、程序运行前
程序编译后,生成exe可执行程序,未执行exe程序前分为两个区域
1、代码区
存放cpu执行的机器指令
代码区是共享的,目的是:对应频繁被执行的程序,仅需在内存有一份代码即可。

