[STM32F0] 是否可以让某些代码文件在一种优化级别下运行,而其他文件使用不同的优化级别

[复制链接]
570|5
封存into 发表于 2025-9-22 09:12 | 显示全部楼层 |阅读模式
在STM32CubeIDE 1.9版本。是否可以让某些代码文件在一种优化级别下运行,而其他文件使用不同的优化级别?我的代码体积超出预期,接近设备的32K程序存储边界。

全部使用优化时,新代码有充足空间,但单步调试追踪bug时,优化会导致代码跳转混乱。

那么能否对已确认无误的文件使用体积优化,而对正在调试的文件使用调试优化或无优化?

目前看来优化是针对整个项目的。当我修改优化选项时,整个项目都会重新编译为该优化级别。

新版本电路板将内存从32K提升至64K,但这需要几个月的时间才能实现。


麻花油条 发表于 2025-9-22 14:58 | 显示全部楼层
GCC支持通过-O0、-Og、-Os、-O2等参数控制优化级别。通过为不同源文件单独指定这些参数,可实现混合优化。
classroom 发表于 2025-9-22 15:59 | 显示全部楼层
修改STM32CubeIDE的构建配置,直接编辑编译命令。
cr315 发表于 2025-9-22 16:59 | 显示全部楼层
用GCC的#pragma指令。
duo点 发表于 2025-9-22 18:00 | 显示全部楼层
拆分项目为静态库。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

125

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部