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

keil 中优化等级的bug

一,问题描述

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

      

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

二.分析问题

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

三.解决办法

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

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

四,总结

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

http://www.dtcms.com/a/159147.html

相关文章:

  • 聊聊Spring AI Alibaba的RedisChatMemory
  • JavaEE-多线程实战01
  • 关系型数据库PostgreSQL for Mac 保姆级使用教程
  • 【三大特性】虚表 内存分布
  • AI应用讲座2025年4月笔记
  • 电镀废水资源化利用的工艺介绍
  • Centos 7.6安装redis-6.2.6
  • 解决新搭建的centos虚拟器,yum下载不了的问题
  • 蓝桥杯 2. 确定字符串是否是另一个的排列
  • LS2K0300龙芯开发板——智能车竞赛
  • 假设检验学习总结
  • 图像预处理-形态学变换
  • React-Native项目矢量图标库(react-native-vector-icons)以及如何使用
  • 强化学习机器人路径规划——Sparrow复现
  • adb常用的20个命令
  • splitchunk(如何将指定文件从主包拆分为单独的js文件)
  • Python+Selenium+Pytest+Allure PO模式UI自动化框架
  • 文章记单词 | 第48篇(六级)
  • 关于Android Studio的Gradle各项配置2
  • 优化无头浏览器流量:使用Puppeteer进行高效数据抓取的成本降低策略
  • 微深节能 平板小车运动监测与控制系统 格雷母线
  • java_基础Java 转义字符学习笔记
  • Kaamel白皮书:IoT设备安全隐私评估实践
  • 【MCP Node.js SDK 全栈进阶指南】中级篇(6):MCP与Web框架集成
  • 网络安全漏洞现状与风险管理分析
  • OceanBase数据库-学习笔记1-概论
  • C# 类的基本概念(声明类)
  • RAGFlow解决Docker Compose include 报错问题
  • 计算机网络学习笔记 4-6章
  • RAG(Retrieval-Augmented Generation,检索增强生成)