OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2975|回复: 3

看图@。@!!!!!

[复制链接]

6

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
216
金钱
216
注册时间
2014-4-4
在线时间
42 小时
发表于 2016-5-11 21:32:10 | 显示全部楼层 |阅读模式
本帖最后由 JIAndanai 于 2016-5-12 22:06 编辑

怎么解决掉这个警告????谢谢啦!

这里有个警告

这里有个警告

tset0

tset0

tset0 里面的内容

tset0 里面的内容
4.png
5.png

警告所在的函数

警告所在的函数

STM32test.rar

802.27 KB, 下载次数: 272

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

538

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3371
金钱
3371
注册时间
2015-1-7
在线时间
794 小时
发表于 2016-5-11 21:56:06 | 显示全部楼层
在obj.noparameters = LEDA;的下面下上一句:(void)obj.noparameters;    试试看
回复 支持 反对

使用道具 举报

6

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
216
金钱
216
注册时间
2014-4-4
在线时间
42 小时
 楼主| 发表于 2016-5-12 22:00:18 | 显示全部楼层
ianhom 发表于 2016-5-11 21:56
在obj.noparameters = LEDA;的下面下上一句:(void)obj.noparameters;    试试看

警告虽然消除了! 但是程序没有按预期的运行!
这是在战舰开发板上运行的! 编译器是keil5
回复 支持 反对

使用道具 举报

9

主题

538

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3371
金钱
3371
注册时间
2015-1-7
在线时间
794 小时
发表于 2016-5-13 07:11:53 | 显示全部楼层
JIAndanai 发表于 2016-5-12 22:00
警告虽然消除了! 但是程序没有按预期的运行!
这是在战舰开发板上运行的! 编译器是keil5

你的告警是说对变量进行了设置,但没有对其进行任何操作;而加了(void)obj.noparameters; 这个语句便是假装做了下操作来消除告警。
因为这个语句本身是没有意义的,而之前设置变量在后面也没有使用过,所以有可能编译器会优化掉,连设置值都不需要。
你可以试一下:
1、把优化等级开到最低
2、或者,对此类变量用volatile修饰,避开编译器的优化
3、或者,把(void)obj.noparameters;语句换成printf("%d\n",obj.noparameters); 这样有意义的语句。
试试看吧
机器生汇编,汇编生B,B生C,C生万物.... 经过长期对C语言的研究,目前只有两个方面不懂:这也不懂,那也不懂
https://github.com/ianhom
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 09:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表