美文网首页
内存四区模型

内存四区模型

作者: Temple_Li | 来源:发表于2017-09-12 09:52 被阅读0次

操作系统把C代码分成四个区:

(1)堆区(heap):一般由程序员分配释放(动态内存申请与释放),若程序员不释放,则不会析构。

(2)栈区(stack):程序局部变量。 由编译器自动分配释放,存储函数的参数值,局部变量的值等。程序结束时自动析构。

(3)全局区(静态区static):有常量和全局变量和静态变量的存储室放在一块的,初始化的全局变量和静态变量是在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域,该区域在程序结束后由操作系统释放。

常量区:字符串常量和其他常量的存储位置,程序结束后由操作系统释放。

(4)代码区(code):存放函数体的二进制代码。

流程说明

1、操作系统把物理硬盘代码load到内存

2、操作系统把c代码分成四个区

3、操作系统找到main函数入口执行

相关文章

  • 内存四区模型

    操作系统把C代码分成四个区: (1)堆区(heap):一般由程序员分配释放(动态内存申请与释放),若程序员不释放,...

  • 内存四区模型

    内存四区分为:栈区、堆区、全局区、代码区 c/c++可以在临时区分配内存,用完后自动被编译器清理 函数1调用函数2...

  • 内存四区模型

    全局区 全局区分为:全局变量,静态变量,文字常量区 栈区 堆区 静态局部变量 栈的生长方向

  • 音视频开发之旅(20) 指针、内存模型、引用

    目录 指针 内存模型和四区使用 引用 资料 收获 一、指针 1.1 什么是指针? 指针本质上是地址,用于指向具体的...

  • NDK_03 C/C++的内存四区模型

    导语:内存四区模型是非常重要的一个知识,只有学会从编译器的角度去了解内存是如何分配的,在遇到问题的时候,才能更好的...

  • 内存四区

    stack(栈区):存放局部变量、函数参数、返回数据和返回地址,系统自动分配释放。栈顶从高地址向低地址的方向生长,...

  • Flink JobManager | TaskManager内存

    Flink内存模型分析 JobManager内存模型 TaskManager内存模型 内存模型分析 Flink使用...

  • 图解jvm--(四)内存模型

    内存模型 java 内存模型 很多人将【java 内存结构】与【java 内存模型】傻傻分不清,【java 内存模...

  • JVM内存模型(jvm 入门篇)

    概述 jvm 入门篇,想要学习jvm,必须先得了解JVM内存模型,JVM内存模型,JVM内存模型,JVM内存模型,...

  • java内存模型

    1.内存模型(JMM) 1.1什么是Java内存模型? Java内存模型将内存分为主内存和工作内存两大部分;主内存...

网友评论

      本文标题:内存四区模型

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