跳转至

C++ 内存模型学习笔记

C++ 内存模型从上(高地址)到下(低地址)可以分为以下几个部分:

  • 栈区:由编译器自动分配释放,存放函数的参数值、局部变量的值等。

  • 堆区:由程序员分配释放,若程序员不释放,程序结束时可能由操作系统回收。

  • 全局/静态区:分为 .data 段(全局初始化区)和 .bss 段(全局未初始化区),.data 段存放 已初始化 了的全局变量和静态变量,.bss 段存放 未初始化 的变量。

  • 常量区:就是 .rodata 段,存放常量。

  • 代码区:存放函数体的代码。