当前位置: 首页 > news >正文

keil 中优化等级的bug

一,问题描述

        程序中代码有的执行,有的不执行,仔细研究,查询人工智能。

      

程序中printf打印后面的代码不执行, 然后过几十个函数又开始正常了。

二.分析问题

       跳过函数一般又判断和Goto等语句,其它的溢出和错误编译器会报错,而这个编译器并没有报错,那么怎么回事呢?

三.解决办法

    将代码优化等级降低,代码优化等级高导致的部分函数无法正确执行,我觉得这是个bug。

 将图中optimization选项改成default或者Level 0即可解决,优化太高导致。

四,总结

  • 优化等级0(O0)是开发调试的“安全区”,以牺牲性能为代价换取调试友好性。
  • 优化等级2(O2)是性能优化的“竞技场”,需在调试困难和代码效率之间权衡。
  • 最佳实践
    • 开发阶段使用O0,确保问题可复现、可定位。
    • 发布阶段使用O2,结合volatile#pragma等手段平衡优化与调试需求。
    • 在嵌入式系统中,针对不同模块采用混合优化策略。
    • 个人建议不要优化,如果你非常熟悉编译优化,那么你可以使用,如果不熟悉编译器原理和优化方案最好不要优化。

http://www.xdnf.cn/news/178399.html

相关文章:

  • 泰迪杯实战案例超深度解析:旅游景点游客流量预测与资源优化
  • Zabbix
  • 测试基础笔记第十四天
  • Java基础——排序算法
  • 底层源码和具体测试解析HotSpot JVM的notify唤醒有序性(5000字详解)
  • 优化无头浏览器流量:使用Puppeteer进行高效数据抓取的成本降低策略
  • PHP实现 Apple ID 登录的服务端验证指南
  • 现代Python打包工具链
  • Redis的阻塞
  • AI赋能智能对讲机:技术融合与行业变革的深度实践
  • 【计算机网络性能优化】从基础理论到实战调优
  • 97A6-ASEMI无人机专用功率器件97A6
  • (25)VTK C++开发示例 --- 将点坐标写入.xyz文件
  • Java基础 — 数组
  • Spark-Streaming(四)
  • 天梯——现代战争
  • NTFS和EXFAT哪个好:深入解析这两种文件系统的优劣
  • FAQ运用
  • 在使用docker创建容器运行报错no main manifest attribute, in app.jar
  • springboot logback 默认加载配置文件顺序
  • Leetcode:283. 移动零
  • 【大模型微调与应用开发实战指南】从理论到工业级部署
  • COMSOL多孔介质自然对流与传热现象的仿真研究
  • 《原神/星穹铁道私服怎么建?内网穿透+本地调试完整指南》
  • 【Vue】单元测试(Jest/Vue Test Utils)
  • 高德地图 API 拿到当前定位和目的地址转经纬度,实现路径规划
  • django filter 排除字段
  • C++学习:六个月从基础到就业——模板编程:类模板
  • 淘宝tb.cn短链接生成
  • 基于ruoyi-plus实现AI聊天和绘画