打印
[STM32C0]

大家都是怎么选择合适的编译器优化等级啊?

[复制链接]
875|48
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
班杰明|  楼主 | 2024-8-12 22:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
等级高了老是不按我的逻辑运行

使用特权

评论回复
沙发
caigang13| | 2024-8-13 07:59 | 只看该作者
我都是默认设置,没有改过。

使用特权

评论回复
板凳
呐咯密密| | 2024-8-13 09:20 | 只看该作者
等级提高有时候会优化掉部分代码。

使用特权

评论回复
地板
铁血丹心LLLL| | 2024-8-28 00:42 | 只看该作者
较高的优化级别可能会增加代码大小,因为编译器可能会生成更复杂的代码。

使用特权

评论回复
5
一秒落纱| | 2024-10-8 21:07 | 只看该作者
一般是优化等级比较低就可以

使用特权

评论回复
6
星辰大海不退缩| | 2024-10-8 21:26 | 只看该作者
那就把优化等级调低一点,使用一些宏命令进行限制Volate

使用特权

评论回复
7
夜阑风雨| | 2024-10-9 02:00 | 只看该作者
太高了不行啊,容易出现程序bug

使用特权

评论回复
8
远山寻你| | 2024-10-9 03:00 | 只看该作者
选择合适的编译器优化等级是一个需要权衡性能、代码大小、调试能力和功耗等多个因素的过程。不同的优化等级会对生成的代码产生不同的影响

使用特权

评论回复
9
光辉梦境| | 2024-10-9 04:00 | 只看该作者
大多数编译器(如GCCClangKeil等)提供了多个优化等级,常见的包括:-O0(无优化):不进行任何优化,生成的代码与源代码非常接近,便于调试。-O1(基本优化):进行一些基本的优化,如常量折叠、死代码消除等,但不会进行复杂的优化。-O2(中级优化):在-O1的基础上进行更多的优化,如循环优化、函数内联等,生成的代码性能更好。-O3(高级优化):在-O2的基础上进行更激进的优化,如自动向量化、循环展开等,生成的代码性能最高,但可能会增加代码大小。-Os(大小优化):在-O2的基础上进行优化,以减小代码大小为主,适用于资源受限的嵌入式系统。-Og(调试优化):在-O1的基础上进行优化,同时保持良好的调试体验,适用于开发和调试阶段

使用特权

评论回复
10
三生万物| | 2024-10-9 05:00 | 只看该作者
在开发和调试阶段,通常选择较低的优化等级,如-O0-Og。这样可以确保生成的代码与源代码非常接近,便于调试和分析

使用特权

评论回复
11
淡漠安然| | 2024-10-9 06:00 | 只看该作者
-O0:不进行任何优化,生成的代码与源代码非常接近,便于调试

使用特权

评论回复
12
暖了夏天蓝了海| | 2024-10-9 07:00 | 只看该作者
一般可以选择-Og:在-O1的基础上进行优化,同时保持良好的调试体验,适用于开发和调试阶段

使用特权

评论回复
13
江河千里| | 2024-10-9 08:00 | 只看该作者
在性能优化阶段,可以选择较高的优化等级,如-O2-O3。这样可以生成性能更好的代码,但可能会增加代码大小和调试难度

使用特权

评论回复
14
别乱了阵脚| | 2024-10-9 09:00 | 只看该作者
在资源受限的嵌入式系统中,通常选择-Os优化等级。这样可以生成较小的代码,节省内存和存储空间

使用特权

评论回复
15
冰春彩落下| | 2024-10-9 10:00 | 只看该作者
选择优化等级时,需要权衡性能、代码大小和调试能力

使用特权

评论回复
16
xiaoyaodz| | 2024-10-11 21:26 | 只看该作者
如果项目对性能要求很高,可以尝试更高的优化等级。

使用特权

评论回复
17
Stahan| | 2024-10-13 22:03 | 只看该作者
空间大的情况下不优化

使用特权

评论回复
18
1988020566| | 2024-10-14 09:17 | 只看该作者
对于对运行效率要求不高的应用,较低的优化等级(如-O1)可能就足够了。

使用特权

评论回复
19
earlmax| | 2024-10-14 12:43 | 只看该作者
开发阶段 通常使用**-O0或-O1**,以便于调试。

使用特权

评论回复
20
robincotton| | 2024-10-14 19:15 | 只看该作者
根据项目的性能要求、内存限制和代码大小来选择合适的优化等级。如果对性能有较高要求,可以选择较高的优化等级;如果对内存和代码大小有严格限制,可以选择较低的优化等级。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

193

帖子

0

粉丝