• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > IAR中为什么有些执行语句会直接跳过

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

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了iar单步执行,iar,iar使用教程,iar下载,iar安装教程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: IAR中为什么有些执行语句会直接跳过
描述:

IAR

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


解决方案1:

把优化等级调成最低,然后最后加上对XX,YY的引用,比如:xx=xx;yy=yy;这样可以防止XX,YY被优化掉。

解决方案2:

定义为变量类型即可

解决方案3:

编译时直接去除了不会被调用的语句

解决方案4:

引用 6 楼 shinerise 的回复:
把优化等级调成最低,然后最后加上对XX,YY的引用,比如:xx=xx;yy=yy;这样可以防止XX,YY被优化掉。

你用两个局部变量,又不使用,骗过编译器,又有什么用,欺骗编译器,实际就是欺骗自己

解决方案5:

没什么大问题
xx = shortaddr/256;
  yy = shortaddr%256;
你只是赋值,但是这两个值没有使用到
你如果再来一个
zz=xx+yy;
那就不会这样警告了

解决方案6:

是没用到啊,xx yy 赋值以后就没用了,所以编译器就给优化掉了
随便再加个语句,比如 shortaddr = xx * 256 + yy;


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

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

相关文章

  • 2017-06-05 对于单片机型号为stc12c5a60s2问题
  • 2017-06-05 国内那个DNS解析服务商可以支持修改SOA记录的
  • 2017-06-05 点线面之间的位置关系进程与CPU之间的关系?
  • 2017-06-05 用stm32模仿Joystick自制usb接口的HID六轴24按键游戏摇杆,貌似快成功了……
  • 2017-06-05 68013A50p固件搞过的求指点
  • 2017-06-05 iOS中使用的lua脚本一般都放到哪个目录下?
  • 2017-06-05 USB30上位机程序与FPGA硬件数据传输不稳定怎么办
  • 2017-06-05 lua语言写出来的代码,怎么保存?(保存成lua文件)
  • 2017-06-05 为什么现在的CPU都没有提寄存器参数
  • 2017-06-05 刚玩STM8遇到个关于时钟的怪问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 加强游戏体验
    • 看看下面的程序哪里的语法错误
    • arm安装QT+OpencvGTK+?
    • OK6410+摄像头采集图像+wifi传入电脑
    • WINCE60++IMX515+3G模块SIM5360拨号连接情况下第1次可以休眠,第2次以及之后不能休眠问题
    • STM32F2怎么实现模拟U盘
    • php与lua的关联?nginx与lua的关联?
    • 编码器设置成向上计数,定时器初始化为0,结果编码器一反转就进中断
    • 触摸屏的驱动芯片ADS7843
    • 嵌入式系统开发的七大技巧

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有