vb2002 发表于 2024-9-30 12:03:58

怎么把printf放在code里面啊。一下就满了 | 已解决

变量存放在idata(256)或 xdata 里面。
姚总说过用户不要放在pdata
定义几个变量,然后加个printf就满了
可以把printf移到code里面,或者其他的idata ,pdata,xdata里面去吗
感觉太占宝贵的 data空间了。



王昱顺 发表于 2024-9-30 12:09:05

本帖最后由 王昱顺 于 2024-9-30 12:10 编辑

首先,printf是个函数,调用后占用的是code空间,中间过程中使用的变量你也无法修改。
其次,其他的变量可以通过使用 u8 xdata list;类似的形式定义到xdata区域,这样就不会占用data导致溢出了
或者还有更加一劳永逸的方式,进入target里面调整存储模式,全存到xdata里面就没这个问题了

vb2002 发表于 2024-9-30 12:10:41

王昱顺 发表于 2024-9-30 12:09
首先,printf是个函数,调用后占用的是code空间,中间过程中使用的变量你也无法修改。
其次,其他的变量可 ...

就是说 printf 改不了,,
但是可以通过节约其他的变量来缩减data空间
我去试试
谢谢大佬

vb2002 发表于 2024-9-30 13:05:09

王昱顺 发表于 2024-9-30 12:09
首先,printf是个函数,调用后占用的是code空间,中间过程中使用的变量你也无法修改。
其次,其他的变量可 ...

已经弄懂了。谢谢指导
搞清楚idata 和xdata
还有您说的那个模式了

YYYYAN 发表于 2024-9-30 23:27:46

王昱顺 发表于 2024-9-30 12:09
首先,printf是个函数,调用后占用的是code空间,中间过程中使用的变量你也无法修改。
其次,其他的变量可 ...

xdata和data、code有什么区别吗?

王昱顺 发表于 2024-10-1 00:09:37

YYYYAN 发表于 2024-9-30 23:27
xdata和data、code有什么区别吗?

xdata是放变量的地方,和data一样。不过xdata容量比较大
code是放程序的地方,容量更大,但是只能读。

wlhet 发表于 2024-11-3 08:10:49

学习了,
页: [1]
查看完整版本: 怎么把printf放在code里面啊。一下就满了 | 已解决