增加变量占用的空间

[复制链接]
844|16
 楼主| huwr 发表于 2020-4-5 14:35 | 显示全部楼层 |阅读模式
有没有朋友遇到定义的变量用PICC编译器编译后在输出窗口没有看到RAM会增加变量占用的空间?
chenjunt 发表于 2020-4-5 14:40 | 显示全部楼层

什么意思?不是很明白你说的什么,能再解释一下这个现象吗
 楼主| huwr 发表于 2020-4-5 14:42 | 显示全部楼层
也就是多定义一个变量和少定义一个变量,不影响下图中的 data space  值, 知道的朋友告知下
 楼主| huwr 发表于 2020-4-5 14:45 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| huwr 发表于 2020-4-5 14:51 | 显示全部楼层

你有什么打算呢?或者你想知道什么?
 楼主| huwr 发表于 2020-4-5 14:53 | 显示全部楼层
发现所有定义的变量都没有使用( 。。。 is not used ),是编译器哪里设置错误呢?
chuxh 发表于 2020-4-5 14:56 | 显示全部楼层
以前呢
 楼主| huwr 发表于 2020-4-5 14:59 | 显示全部楼层
以前没有没有出现这个问题
有没有朋友知道的?
supernan 发表于 2020-4-5 15:03 | 显示全部楼层
是不是优化掉了
pangb 发表于 2020-4-5 15:08 | 显示全部楼层
或者光定义没使用
kangzj 发表于 2020-4-5 15:13 | 显示全部楼层
没使用不会分配呀
 楼主| huwr 发表于 2020-4-5 15:17 | 显示全部楼层
定义变量就应该占有内存的,只有声明才不会占用内存,怎么一定要使用了才有?
 楼主| huwr 发表于 2020-4-5 15:22 | 显示全部楼层
我也是在使用变量后才发现占有内存的。
wenfen 发表于 2020-4-5 15:25 | 显示全部楼层
在程序中,没有对程序逻辑起作用的变量,会被编译器优化掉。
tian111 发表于 2020-4-5 15:31 | 显示全部楼层
比如你在程序中,给变量a赋值1(a = 1;),但在程序中不做任何逻辑判断,它是直接被编译器优化掉。这句赋值语句在编译时,直接被编译器无视了
 楼主| huwr 发表于 2020-4-5 15:36 | 显示全部楼层

好的,我明天去单位试一下,多谢各位大侠了哈        
CoolSilicon 发表于 2020-4-7 09:38 | 显示全部楼层
1. 你是定义的局部变量还是全局变量?
2. 如果只是定义而已, 没有其他的地方调用, 或者只是简单的调用并不产生任何实质性的意义, 编译器会自动把它优化掉. 其实, 只要改一下XC8编译器的设置, 让它工作的lite或者free模式, 就不会优化掉了..
您需要登录后才可以回帖 登录 | 注册

本版积分规则

780

主题

8627

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部