栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Program Size: Code=121410 RO-data=3038 RW-data=98596 ZI-data=397352

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Program Size: Code=121410 RO-data=3038 RW-data=98596 ZI-data=397352

Code、RO-data、RW-data、ZI-data
Program Size说明数据
Code代码域,编译器生成的机器指令,存储到ROM区机器指令
RO-dataRead only data,只读数据域,程序中用到的只读数据,这些数据被存储在ROM区,因而程序不能修改其内容,C语言中const关键字定义的变量就是典型的RO-data常量
RW-dataRead Write data,可读写数据域,它指初始化为非0的可读写数据,程序刚运行时,这些数据具有非0的初始值,且运行的时候常驻RAM区,因而应用程序可以修改其内容,C语言中定义的非0值全局变量初值非0的全局变量
ZI-dataZero Initialie data,即初始化为0的数据域,它指初始化为0值的可读写数据域。它与RW-data的区别是程序刚运行时这些数据初始值都为 0,而后续运行过程与RW-data的性质一样,也常驻RAM区,因而应用程序可以更改其内容。C语言中定义的全局变量,且定义时赋予0值给该变量进行初始化,若定义该变量时没有赋予初始值,编译器会把它当ZI-data来对待,初始化为 0

ZI-data 的栈空间(Stack)及堆空间(Heap):在C语言中,函数内部定义的局部变量属于栈空间,进入函数的时候会向栈空间申请内存给局部变量,退出时释放局部变量,归还内存空间。而使用malloc动态分配的变量属于堆空间。在程序中的栈空间和堆空间都是属于ZI-data区域的,这些空间都会被初始值化为0值。编译器给出的ZI-data占用的空间值中包含了堆栈的大小
初值为0的全局变量、局部变量 、malloc动态分配的空间
Program Size
区域组成
只读区域(RO)Code + RO-data
读写区域(RW)RW-data + ZI-data
程序大小(ROM)Code + RO-data + RW-data
运行时内存(RAM)RW-data + ZI-data
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/784346.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号