微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > 为什么有些执行语句会直接跳过

为什么有些执行语句会直接跳过

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

最后两句没有用到了,给优化掉了

额。。可以不让他优化吗?

我已经知道了

这样,你在xx这里设置下断点,看看程序是否能运行到断点处。

是编译器优化的问题吗?

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

其实这个你可以添加关键字volatile,这个关键字就是告诉编译器不优化,您可以试试呢。

好的,谢谢

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top