美文网首页
BSS段、数据段、代码段、堆栈段的区别

BSS段、数据段、代码段、堆栈段的区别

作者: sml_tj | 来源:发表于2021-06-09 13:39 被阅读0次

BSS 段(BSS segment):存放程序中未初始化的全局变量的一块内存区域。 属于静态内存分配
数据段(data segment):存放程序中已初始化的全局变量的一块内存区域。属于静态内存分配
代码段(code segment):存放程序执行代码(也可能会包含一些只读的常数变量,如字符串常量)的一块内存区域。在程序运行时已经确定,通常为只读,某些架也允许可写即修改程序。
堆(heap):存放进程运行中被动态分配的内存段。它的大小不固定,可动态扩张或缩减。当进程调用malloc等函数分配内存时,新分配的内存就被动态添加到堆上;当利用free等函数释放内存时,被释放的内存从堆中被剔除。
栈(stack):又称堆栈,用户存放程序临时创建的局部变量,是交换临时数据的内存区域。不包括static声明的变量,static意味着在数据段即静态区中存放变量。

相关文章

  • BSS段、数据段、代码段、堆栈段的区别

    BSS 段(BSS segment):存放程序中未初始化的全局变量的一块内存区域。 属于静态内存分配数据段(dat...

  • (转)数据段、代码段、堆栈段、BSS段的区别

    进程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进...

  • 在内存剖析对象

    对象在内存中的存储 栈、堆、BSS、数据段、代码段是什么?栈(stack):又称作堆栈,用来存储程序的局部变量(但...

  • BSS段 data段 text段 堆heap 和 栈stack

    1.可执行程序包括BSS段、[数据段]、[代码段](也称文本段)。 BSS(Block Started by Sy...

  • Linux应用程序地址布局

    一、程序构成 在学习Linux应用程序开发时,经常会遇到如下概念:代码段、数据段、BSS段等。BSS(Block ...

  • 栈为什么要由高地址向低地址扩展?

    原因 计算机内存分了代码段(.text段)、初始化的数据段(.data段)、未初始化的数据段(.bss段)、堆空间...

  • C语言内存管理

    对于一个C语言程序而言,内存空间主要由五个部分组成代码段(.text)、数据段(.data)、BSS段(.bss)...

  • 内存管理分区

    内存分配有三种方式:静态存储区域分配(代码段、数据段、BSS段)、堆、栈 内存分为5个区 代码段:存放程序执行代码...

  • 堆栈 数据段

    https://blog.csdn.net/sxhlovehmm/article/details/47680137...

  • OC的五大内存区域

    栈区(stack)堆区(heap)全局区/静态区(BSS段和数据段)常量区代码区(代码段) 1、栈区 栈区:又称堆...

网友评论

      本文标题:BSS段、数据段、代码段、堆栈段的区别

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