当前位置: 首页 > news >正文

网站建设明薇通网络保险官网

网站建设明薇通网络,保险官网,各大网站博客怎么做推广,手机版谷歌浏览器入口严谨的说法: 一个C、C程序实际就是一个进程,那么C的内存分区,实际上就是一个进程的内存分区,这样的话就可以分为两个大模块,从上往下,也就是0地址一直往下,假如是x86的32位Linux系统&#xff0c…

严谨的说法:

        一个C、C++程序实际就是一个进程,那么C++的内存分区,实际上就是一个进程的内存分区,这样的话就可以分为两个大模块,从上往下,也就是0地址一直往下,假如是x86的32位Linux系统,那么一个进程的地址,我们也称为进程的虚拟地址(因为一个程序的内存是不可能直接加载到物理内存中的,所以我们说是虚拟的),总共分到的内存就是2^32bit也就是4G,其中默认3G是用户空间,1G是内核空间(这个空间可以通过配置文件调整)。

        从0x00000000到0x08048000这一段空间就是受保护的内存块(不能访问),我们所说的nullptr就是指向这里。

        接着往下就是.text.rodata段,其中.text段就是存放程序编译产生的汇编语言运行的地方,汇编语言我也称为指令,.text段不可写,实际上一个编程语言的程序,最终产生的结果就是两部分,一部分是指令,另一部分是数据,.rodata段存放的是常量,同样不可写。

        再往下就是.data段,.data段存放初始化了的变量,往下就是.bss段,这里存放的是未初始化的变量和初始化为0的变量,在系统编译过程中,.bss段的变量都会默认初始化为0。

        再往下就是.heap段,里面就是动态分配出来的内存,再往下是共享段,里面用来加载共享库,比如.dll和.so文件。

接着往下就是.stack段,用来给执行的函数分配内存(需要注意的是,函数里面的变量的内存确实在栈段,但是代码编译的指令在.text段中,比如int a=10;,这句话的指令在.text中,但是int的内存在栈里面)。

        接着往下就是存放命令行参数和环境变量的内存段,命令行参数就比如编译的时候指定一些参数,这时候就在这个段里面,系统库的路径就是环境变量的一种,比如Windows的Path。

        最后一段就是内核空间,里面有ZONE_DMAZONE_NORMALZONE_HIGHMEM三个段。

ZONE_DMA:这个区域包含了物理地址在 0 到 16MB 之间的内存。这个区域通常用于与设备进行 DMA(直接内存访问)交互,因为某些设备只能访问这个范围内的内存。在一些系统中,这个区域也可以包含一些内核代码和数据。

ZONE_NORMAL:这个区域包含了物理地址在 16MB 到 896MB 之间的内存。这是系统中最常见的内存区域,用于存放大多数的内核代码和数据,以及用户空间的进程和数据。

ZONE_HIGHMEM:这个区域包含了物理地址在 896MB 之后的内存,于管理物理内存超过 896MB 的区域。在早期的 32 位体系结构中,由于地址总线的限制,物理地址空间无法直接访问超过 896MB 的内存。因此,为了能够充分利用系统中超过 896MB 的内存,Linux 内核引入了 ZONE_HIGHMEM 区域。

        最后需要注意的是,一个进程的用户空间是私有的,也就说,每个进程都有属于自己的3G用户空间,但是内核空间是共享的,这也是为什么进程间的通信这么麻烦的原因,只能通过操作系统的接口进行通信,比如管道和套接字等。

不严谨的说法:

        一个C、C++程序的内存分区主要有5个,分别是堆区、栈区、全局/静态区、常量存储区和程序代码区。

:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。

:就是那些由 new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个 delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。

全局/静态存储区:全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量和静态变量又分为初始化的和未初始化的,在C++里面没有这个区分了,它们共同占用同一块内存区,在该区定义的变量若没有初始化,则会被自动初始化,例如int型变量自动初始为0。

常量存储区:这是一块比较特殊的存储区,这里面存放的是常量,不允许修改。

程序代码区:存放函数体的二进制代码。

http://www.yayakq.cn/news/593997/

相关文章:

  • 怎么查看网站空间大小学校建设网站前的市场分析
  • 建设部网站官网查询广告公司现状
  • 用网站还是阿里巴巴做soho上海本地生活的网站
  • 英文网站建设 淮安花2w学ui值得吗
  • 电子商务基础网站建设用wordpress开发网站
  • 宿迁做网站哪家好嘉兴学网站建设
  • 资料库网站开发报价定制软件的平台
  • 做网站可以申请国家补助吗网站建设企业有哪些
  • 泰州网站制作报价软件项目管理心得体会
  • 建手机网站自己怎么制作假山
  • 慈利做网站在哪里建设公司网站费用怎么做账
  • 做国外网站推广网络营销运营外包
  • 晋江建设局网站网站海外推广
  • 哪里有做商城的网站网站建设英文术语
  • 深圳移动网站建设公司价格wordpress 实现动画
  • 展馆设计效果图图片 展厅seo排名推广工具
  • 官方网站制作哪家专业北京同仁医院眼科医生免费咨询
  • 企业建设网站应如何申请信阳企业网站建设
  • 建立一个属于自己的网站网站前期推广
  • 建立网站 知乎做微商网站制作
  • 文字做图网站wordpress+icon图标
  • 企业网站能起到什么作用网站流量提供商
  • 江苏弘盛建设工程集团有限公司网站如何调整wordpress页面的顺序
  • 外国网站签到做任务每月挣钱可以做司法考试题的网站
  • 如何把做的网站放到百度上深圳华强北二手手机
  • 公司做网站 优帮云南京seo新浪
  • 网站建设的简洁性红动中国免费素材网
  • 新网的网站建设一般是多少钱cent os wordpress
  • 网站二级页面设计网线制作顺序
  • 美食门户类网站模版html教程软件