C内存的补充理解

本文深入探讨了C++在Linux下的内存管理机制,详细解释了BSS段、DATA段及TEXT段的功能。BSS段用于存放未初始化的全局变量和静态变量;DATA段则存放已初始化的全局变量和静态变量;而TEXT段则存放二进制代码和文字常量。通过size命令,可以查看程序在这些区域的内存分配情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前述,对C++内存的管理存在一些疑问,今天偶然聊到,BSS段,DATA段,这些,有了新的理解。

linux下size命令可以查看程序的内存分配,分为text,BSS,DATA三个区,不包括堆栈区,可能是堆栈区运行的时候分配吧。

BSS(Block Started by Symbol),存放程序未初始化的全局变量/静态变量,初始化为0,包括在main外声明的全局变量,int a,静态变量,static int a,main内部的static int a;

DATA区存放着初始化的全局变量/静态变量,程序中初始化过的,Int a=9;,static int a=9;这类。

text就是代码区,存放二进制代码,此外,之前存疑的文字常量似乎也是存在此处的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值