首页 > 系统相关 >内存分区

内存分区

时间:2024-02-28 11:02:02浏览次数:26  
标签:栈区 堆区 分区 bss 存放 内存 data 代码

内存一般分为四个区:堆区、栈区、全局区、代码区

对于一个程序的编译而言,编译程序占用五个区:堆区、栈区、全局区、代码区、文字常量区

堆区:程序员动态申请一定大小的内存空间,可读可写

栈区:存放局部变量,函数参数,可读可写

全局区:全局变量,静态变量(静态全局和静态局部)、静态函数、还分为data区和bss区,可读可写

代码区:存放编译后的可执行的二进制代码,只读

文字常量区:存放的是常量字符串,只读

 

内存分区运行前后的区别:

1、程序运行前:代码区,data区,bss区(data区和bss区存放在全局区中)

代码区:存放的是编译后的二进制代码

data区:存放的是初始化后的变量

bss区:存放的是未初始化的变量

为什么要将程序与数据分开保存:因为程序指令是可以共享的,为只读状态,分开保存可以一是可以保证程序指令不被修改,二是可以节省内存空间,当执行

多个同样的程序时,它们的指令是相同的,但是处理的数据不相同。

2、程序运行后:代码区、data区、bss区、堆区、栈区

 

标签:栈区,堆区,分区,bss,存放,内存,data,代码
From: https://www.cnblogs.com/gaishuobulao/p/18038739

相关文章

  • oracle增加表分区,金仓增加表分区,oracle增加数据库空间
    1.金仓增加表分区CREATETABLE"public"."分区名"PARTITIONOF"public"."表名"FORVALUESFROM('2024-02-0100:00:00')TO('2024-02-2923:59:59');COMMENTONTABLE"public"."分区名"IS'......
  • Windows系统概述及磁盘分区
    Windows系统概述及磁盘分区Windows系统概述Windows系统作为世界上使用者最多,最受欢迎的操作系统,值得热爱者们进行详细的研究.我们将分别介绍Windows系统的安装,维护,优化,以及进阶的高级操作.本教程所有的操作均使用Windows10Professional操作系统.磁盘分区有关磁盘的知......
  • 只有 2G 内存, 如何排序 128G 数据?
    【外排序】只有2G内存,如何排序128G数据?在说明这个问题之前,先来回顾一项计组基础知识:CPU最多可以访问到内存,无法访问磁盘;因此一般的排序算法(如快速/归并/堆/希尔)都只能对至少可存储在内存中的数据进行排序,但现在需要面对的场景是数据量过大,无法放入内存,因......
  • 2024-02-27-物联网系统编程(7- 共享内存)
    7.共享内存7.1共享内存概述​共享内存允许两个或者多个进程共享给定的区域共享内存的特点共享内存是进程间共享数据的一种最快的方法;一个进程向共享的内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容。使用共享内存要注意的是多个进程之......
  • vertica数据库的分区分布作用与区别
    1.目的方面:segmentation解决各节点数据倾斜问题,适用于木桶原理,数据量大的那个节点将会拖慢整个查询.partition主要解决的是数据删除和空间回收问题.列式数据库删除数据的代价较大.相比一条一条记录的删除动作,删除整一个partition的代价要小得多(其实一个partition就......
  • 无法在驱动器0的分区1上安装Windows
    在通过U盘或光盘安装Win10系统时,不少用户遇到无法安装的问题,提示“无法在驱动器0的分区1上安装Windows”,格式化分区1也不能解决,进而提示Windows无法安装到这个磁盘,选中的磁盘采用GPT/MBR分区形式,这是怎么回事呢?下面跟大家分析出现这个问题的原因以及解决方法。一、原因分析Win......
  • C++内存管理
    关于C++内存和分配的学习笔记C++内存和分配很容易出问题,为了编写高质量的CPP代码,我们必须了解幕后的工作原理。1.内存泄漏例如:voidleaky(){newint;//这里就是内存泄漏cout<<"我泄漏了一个int的内存!"<<endl;}自由存储区中的数据库无法被栈或者间接访问,这块内存被......
  • 第五章 内存和磁盘
    计算机中主要的存储不仅是内存和磁盘。首先要知道的是,不读入内存就无法运行,程序保存在储存设备中,通过有序的被督促的实现运行,这一机制称为存储程序方式。总之,存储在磁盘中的程序需要读入到内存后才能运行。磁盘缓存指的是把从磁盘中读出的数据存储到内存空间中的方式。磁盘缓存加......
  • 第四章 熟练使用内存
    内存的物理机制很简单,内存实际上是一种名为内存IC的电子元件,虽然有多种形式,但从外部来看其基本机制都是一样的。内存的逻辑模型是楼房。在这个楼房中,一层可以储存1个字节的数据,楼层号表示的就是地址。虽然内存的实体是内存IC,但可以把它假想成每层都储存着数据的楼房。编程语言中......
  • nvmet_rdma_offload_mem_start 预留内存
    要在modprobenvmet_rdma时找到合法的nvmet_rdma_offload_mem_start和nvmet_rdma_offload_mem_size_mb参数,你需要进行一系列步骤以确保选定的内存区域既未被系统其他部分使用,又适合于你的NVMeoverFabrics(NVMe-oF)RDMA目标配置。以下是一个示例流程,展示如何进行这一过......