MDK中全局变量在RW-Data和ZI-Data的分配

2019-07-20 02:59发布

大家好:
MDK编译后生成的RW-Data是指初始化的全局变量,比如定义了一个全局变量数组:

int array[1000];            //没有任何初始化数据
void main()
{
}

如何让这个数组不被分配到RW-Data区,而是分配到 ZI-Data区,这样在生成bin文件时会小得多?

谢谢!


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
edmund1234
1楼-- · 2019-07-20 07:34
 精彩回答 2  元偷偷看……
twodiamond
2楼-- · 2019-07-20 09:06
edmund1234 发表于 2019-3-25 15:10
int array[1000] ={0};

我想要的结果是:
array[] 不被分配到RW-Data区,以便生成的bin文件不包含array的初始化数据,而是将其做为ZI-Data,直接初始化成0,这样bin文件比较小些。

如果:
int array[1000];
或者
int array[1000]={0};

array[]都会被分配到RW-Data中。增加了在FLASH的占用空间。

多谢!!!
ZHDX
3楼-- · 2019-07-20 14:59
建议实测一下生成出来的bin文件大小再下定论.

我这边RW根本不影响bin文件大小

bin文件大小 = Code + RO


一周热门 更多>