视图:
进程虚拟地址空间 低地址 → 高地址(自上而下) 代码段 Text Segment 可执行机器指令、只读常量 0x00400000 已初始化数据段 Data 全局变量、静态变量(已初始化) 未初始化数据段 BSS 全局/静态变量,程序启动前清零 堆 Heap malloc / new 动态分配,向上增长 brk/mmap 扩展 栈 Stack 局部变量、函数参数、返回地址 向下增长 代码映射 // C++ 示例代码 int g_init = 42; int g_uninit; int main() { int local = 10; int *p = new int(20); static int s = 5; func(local); delete p; return 0; } 增长 增长
点击左侧内存区域或代码行查看详情
这张交互图展示了一个典型 C/C++ 进程的虚拟地址空间布局。上方是低地址,下方是高地址。
代码段
已初始化数据
BSS
Generated with Tabbit.