[PIC®/AVR®/dsPIC®产品] 增加变量占用的空间

[复制链接]
4204|21
 楼主| huwr 发表于 2021-9-7 19:01 | 显示全部楼层 |阅读模式
本帖最后由 pzsh 于 2021-9-13 13:42 编辑

有没有朋友遇到定义的变量用PICC编译器编译后在输出窗口没有看到RAM会增加变量占用的空间?
chenjunt 发表于 2021-9-7 19:03 | 显示全部楼层
什么意思?不是很明白你说的什么,能再解释一下这个现象吗
 楼主| huwr 发表于 2021-9-7 19:05 | 显示全部楼层
也就是多定义一个变量和少定义一个变量,不影响下图中的 data space  值, 知道的朋友告知下
 楼主| huwr 发表于 2021-9-7 19:08 | 显示全部楼层

本帖子中包含更多资源

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

×
 楼主| huwr 发表于 2021-9-7 19:10 | 显示全部楼层
你有什么打算呢?或者你想知道什么?
 楼主| huwr 发表于 2021-9-7 19:30 | 显示全部楼层
发现所有定义的变量都没有使用( 。。。 is not used ),是编译器哪里设置错误呢?
stly 发表于 2021-9-7 19:46 | 显示全部楼层
以前呢
 楼主| huwr 发表于 2021-9-7 19:49 | 显示全部楼层
以前没有没有出现这个问题
有没有朋友知道的?
supernan 发表于 2021-9-7 19:51 | 显示全部楼层
是不是优化掉了
zhanglli 发表于 2021-9-7 19:53 | 显示全部楼层
或者光定义没使用
hanwe 发表于 2021-9-7 19:59 | 显示全部楼层
没使用不会分配呀
 楼主| huwr 发表于 2021-9-7 20:01 | 显示全部楼层
定义变量就应该占有内存的,只有声明才不会占用内存,怎么一定要使用了才有?
 楼主| huwr 发表于 2021-9-7 20:04 | 显示全部楼层
我也是在使用变量后才发现占有内存的。
wenfen 发表于 2021-9-7 20:06 | 显示全部楼层
在程序中,没有对程序逻辑起作用的变量,会被编译器优化掉。
songqian17 发表于 2021-9-7 20:10 | 显示全部楼层
比如你在程序中,给变量a赋值1(a = 1;),但在程序中不做任何逻辑判断,它是直接被编译器优化掉。这句赋值语句在编译时,直接被编译器无视了
zhanghqi 发表于 2021-9-7 20:20 | 显示全部楼层
你是定义的局部变量还是全局变量?
juventus9554 发表于 2021-9-7 20:27 | 显示全部楼层
如果只是定义而已, 没有其他的地方调用
pengf 发表于 2021-9-7 20:31 | 显示全部楼层
或者只是简单的调用并不产生任何实质性的意义, 编译器会自动把它优化掉
houcs 发表于 2021-9-7 20:34 | 显示全部楼层
其实, 只要改一下XC8编译器的设置, 让它工作的lite或者free模式, 就不会优化掉了..
 楼主| huwr 发表于 2021-9-7 20:38 | 显示全部楼层
好的,我明天去单位试一下,多谢各位大侠了哈        
您需要登录后才可以回帖 登录 | 注册

本版积分规则

780

主题

8627

帖子

5

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