3111|8

24

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

为什么有些执行语句会直接跳过 [复制链接]

  uint8 xx,yy;
  uint16 shortaddr;
  shortaddr = pkt->srcAddr.addr.shortAddr;  
  xx = shortaddr/256;
  yy = shortaddr%256;
为啥我这样不行,警告说xx,yy只设了没有用到
我调试了一下,能运行到shortaddr那行,运行完了直接跳过xx,yy那两行,有哪位大神告诉我一下是什么情况吗?感激不尽啊

此帖出自无线连接论坛

最新回复

其实这个你可以添加关键字volatile,这个关键字就是告诉编译器不优化,您可以试试呢。  详情 回复 发表于 2015-8-4 20:32
点赞 关注
 

回复
举报

6423

帖子

17

TA的资源

版主

沙发
 
最后两句没有用到了,给优化掉了
此帖出自无线连接论坛
个人签名training
 
 

回复

24

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
额。。可以不让他优化吗?
此帖出自无线连接论坛
 
 
 

回复

24

帖子

0

TA的资源

一粒金砂(中级)

4
 
我已经知道了
此帖出自无线连接论坛

点评

是编译器优化的问题吗?  详情 回复 发表于 2015-7-24 16:58
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

5
 
这样,你在xx这里设置下断点,看看程序是否能运行到断点处。
此帖出自无线连接论坛
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

6
 

是编译器优化的问题吗?
此帖出自无线连接论坛
 
 
 

回复

24

帖子

0

TA的资源

一粒金砂(中级)

7
 
huaiqiao 发表于 2015-7-24 16:58
是编译器优化的问题吗?

是的。。。当语句没有对后续语句产生影响,他会自动屏蔽不执行该条语句。。所以就会出现语句跳过的现象
此帖出自无线连接论坛

点评

其实这个你可以添加关键字volatile,这个关键字就是告诉编译器不优化,您可以试试呢。  详情 回复 发表于 2015-8-4 20:32
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

8
 
MR_yy 发表于 2015-8-4 10:26
是的。。。当语句没有对后续语句产生影响,他会自动屏蔽不执行该条语句。。所以就会出现语句跳过的现象

其实这个你可以添加关键字volatile,这个关键字就是告诉编译器不优化,您可以试试呢。
此帖出自无线连接论坛
 
 
 

回复

24

帖子

0

TA的资源

一粒金砂(中级)

9
 
huaiqiao 发表于 2015-8-4 20:32
其实这个你可以添加关键字volatile,这个关键字就是告诉编译器不优化,您可以试试呢。

好的,谢谢
此帖出自无线连接论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表