C/C++进阶之进程空间(二)

本文详细介绍了进程与程序的区别,强调进程的动态性和内存的五个区域。通过实例解析了全局变量、静态变量和局部变量在进程空间的存储位置,以及函数调用时的压栈和出栈过程,帮助理解C/C++中内存管理和函数调用的工作原理。
摘要由CSDN通过智能技术生成

进程空间

首先认识进程和程序的区别
1、程序:源文件经过编译,生成可执行文件,一般window下是*.exe文件,linux下是a.out。程序是静态的。程序包含3个区域,text,inial data, uinial data。
2、进程:被操作系统加载到内存至运行结束的过程。进程是动态的。进程包含5个区域,text,inial data, uinial data,heap,stack。
通过下面这这张图可以更清晰的认识,进程和程序的区别。

这里写图片描述

接下来是分析进程空间简概图
1、图片标注的0-4G指的是操作系统分配给进程空间的虚拟内存大小,虚拟内存会通过内存管理单元(MMU)映射到实际的物理内存单元。
2、进程空间的每个段存储的内容详解看下一张图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值