dengxm2009 发表于 2015-8-26 00:32:04

常量放入code区,编译结果XDATA占用字节数没变化?这是怎...

char code TestGprsStr1[]={0x54,0x65,0x73,0x74,0x20,0x57,0x61,0x76,0x65,0x43,0x6F,0x6D,0x47,0x70,0x72,0x73,0x20,0x4D,0x6F,0x64,0x75,0x6C,0x65,0x2E,0x2E,0x2E,0x5C,0x72,0x5C,0x6E};
常量放入code区,编译结果XDATA占用字节数没变化?这是怎么回事?

babysnail 发表于 2015-8-26 00:37:44

默认不是 large模式。   

farfar 发表于 2015-8-26 07:54:48

如果不曾使用,那麽很可能已經被優化掉了。

techbaby 发表于 2015-8-26 07:58:21

有什么好奇怪的,你数组放到到code区,xdata区当然不会增加了。

woshigeshuai 发表于 2015-8-26 08:18:13

编译后code会增加

duxingkei 发表于 2015-8-26 08:20:25


char xdataTestGprsStr1[]=
才能 把变量分配到xdata区,
你刚刚的
char code TestGprsStr1[]=
但是想看code区数据,应该会增加

dengxm2009 发表于 2015-8-26 11:54:30

xdata应该减少呀

simplorer 发表于 2015-8-26 12:11:33

const 跟 xdata八杆子打不着吧。

takashiki 发表于 2015-8-26 12:15:16

dengxm2009 发表于 2015-8-26 11:54
xdata应该减少呀

LZ逻辑:
LZ新买了套房子,然后跑到邻居家说,你家怎么没变啊,应该拆迁了啊?

dengxm2009 发表于 2015-8-26 12:53:37

没加code前,常量放在xdata,此时编绎完成xdata占用5881字节。加了code后,变量存在rom里面,code占用应该增加,xdaya占用就应该减小呀,好像没什么变化。

dengxm2009 发表于 2015-8-26 15:38:20

找到原因了,原来与优化选项有关。去掉优化选项,效果就出来了。如果选则优化,keil已经帮你把常量放到code区了。
页: [1]
查看完整版本: 常量放入code区,编译结果XDATA占用字节数没变化?这是怎...