[文档下载] KEIL编译器的优化等级及说明

[复制链接]
2260|17
 楼主| 232321122 发表于 2023-2-25 10:00 | 显示全部楼层 |阅读模式
1,先看一下官方文档(此资料为翻译后的)
Optimization level -O0
Optimization level -O1

Optimization level -O2
Optimization level -O3

以上可以看出 官方推荐的优化等级是01 可以大幅度提高代码运行的效率,压缩代码大小
而优化等级2和3 则会得到更高效的运行效率, 但也要求我们写的代码更加严谨才可以,不然压缩优化后的代码如果写得不严谨, 是很容易出现问题的.

单片小菜 发表于 2023-2-27 11:36 | 显示全部楼层
感谢楼主的分享,很重要的资料。
豌豆爹 发表于 2023-2-28 11:26 来自手机 | 显示全部楼层
很不错的资料,学习学习
中国龙芯CDX 发表于 2023-2-28 13:51 | 显示全部楼层
本帖最后由 中国龙芯CDX 于 2023-2-28 13:52 编辑

等级优化对于整体性能区别大嘛
rosemoore 发表于 2023-3-2 11:18 | 显示全部楼层
这个需要注意什么              
sheflynn 发表于 2023-3-2 11:56 | 显示全部楼层
keil直接选择不优化代码就行。
10299823 发表于 2023-3-2 12:05 | 显示全部楼层
keil优化等级对nop的影响会使程序运行缓慢。
wengh2016 发表于 2023-3-3 20:58 | 显示全部楼层
这个优化等级需要注意什么              
saservice 发表于 2023-3-3 21:37 | 显示全部楼层
为什么要优化代码呢              
kmzuaz 发表于 2023-5-7 10:46 | 显示全部楼层
优化级别越高,出问题的可能性越大。
uytyu 发表于 2023-5-7 14:56 | 显示全部楼层
在选择优化等级时,需要根据具体的应用场景进行选择,并进行充分的测试和验证,以确保代码的正确性和稳定性。
eefas 发表于 2023-5-7 15:15 | 显示全部楼层
Keil编译器的优化等级有以下几个:

无优化(O0):不进行任何优化,代码生成速度最快,但生成的代码效率较低。

优化等级1(O1):进行基本的优化,例如关键字替换、空指针检查等,可以显著提高代码的执行速度和效率。

优化等级2(O2):进行更多的优化,如非递归函数的内联、全局寄存器分配等,可以进一步提高代码的执行速度和效率。

优化等级3(O3):进行更加深入的优化,例如循环展开、变量复用、函数调用优化等,可以获得最高的代码执行效率。

自定义优化等级(Ox):用户可以根据具体需求自定义优化等级,例如-Os表示在代码大小和执行效率之间做出平衡。
pl202 发表于 2023-5-7 15:44 | 显示全部楼层
优化等级越高,编译时间越长,而且可能会导致代码的可读性下降或出现一些奇怪的问题。
earlmax 发表于 2023-5-7 15:50 | 显示全部楼层
编译完之后多留意data,xdata,看有没超出芯片的最大值
geraldbetty 发表于 2023-5-7 16:03 | 显示全部楼层
Keil优化及如何设置某段代码不优化
primojones 发表于 2023-5-7 16:12 | 显示全部楼层
详见keil优化级别说明                 
janewood 发表于 2023-5-7 17:00 | 显示全部楼层
一般用优化等级8                 
primojones 发表于 2023-5-7 18:28 | 显示全部楼层
keil优化等级对nop的影响会使程序运行缓慢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

2416

帖子

1

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