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

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

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

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

    相关文章

      网友评论

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

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