• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

用keil编译时有的语句编译不到,不知道为何

一书生0414 2017-01-08 浏览量:1816

这是在软仿真状态,左边灰色代表可以加断点,,蓝色框出的那两个语句不能加断点,说明没有被编译到,一般是什么原因才会出现这种情况?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 一、

    你的dir_set与positive在这个地方都是哪些值,在if那里设置个断点看一下,是不是在程序运行的整个过程中,这两个值永远不会相等呢?

    二、

    你的优化等级是多少,是不是优化掉了、



    • 发布于 2017-01-08
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:6
  • 是不是优化掉了,if中的语句和else中的语句完全相同啊。
    • 发布于2017-01-09
    • 举报
    • 评论 0
    • 1
    • 0

  • 在KELL里面有几个优化选项,分好几个级别,你选择默认,什么都不优化,你再编译试试。位置,在工程,右键,出现的页面里面,选择 【C/C++】 选项卡里面就能看到的
    • 发布于2017-01-09
    • 举报
    • 评论 0
    • 1
    • 0

  • KEIL 优化编译选项中可以修改到

    你的代码逻辑是一样的 编译器会编译到同一条汇编语句 所以上面的语句无法打断点

    keil会把C语言全部先编译到对应的汇编语句

    • 发布于2017-01-09
    • 举报
    • 评论 0
    • 1
    • 0

  • 个人觉得应该是优化掉了吧
    • 发布于2017-01-09
    • 举报
    • 评论 0
    • 1
    • 0

  • 实在不明白你判断的结果和没有判断是一样的!为什么还要判断呢?应该是优化掉了你这个没有意义的语句了!
    • 发布于2017-01-09
    • 举报
    • 评论 0
    • 1
    • 0

  • 您好,有可能是你這段Code不會運行到,或者被編譯器優化,大部分是這兩個原因

    以上希望對您有用

    • 发布于2017-01-08
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

用keil编译时有的语句编译不到,不知道为何