打印
[文档下载]

KEIL编译器的优化等级及说明

[复制链接]
419|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 编辑

等级优化对于整体性能区别大嘛

使用特权

评论回复
5
rosemoore| | 2023-3-2 11:18 | 只看该作者
这个需要注意什么              

使用特权

评论回复
6
sheflynn| | 2023-3-2 11:56 | 只看该作者
keil直接选择不优化代码就行。

使用特权

评论回复
7
10299823| | 2023-3-2 12:05 | 只看该作者
keil优化等级对nop的影响会使程序运行缓慢。

使用特权

评论回复
8
wengh2016| | 2023-3-3 20:58 | 只看该作者
这个优化等级需要注意什么              

使用特权

评论回复
9
saservice| | 2023-3-3 21:37 | 只看该作者
为什么要优化代码呢              

使用特权

评论回复
10
kmzuaz| | 2023-5-7 10:46 | 只看该作者
优化级别越高,出问题的可能性越大。

使用特权

评论回复
11
uytyu| | 2023-5-7 14:56 | 只看该作者
在选择优化等级时,需要根据具体的应用场景进行选择,并进行充分的测试和验证,以确保代码的正确性和稳定性。

使用特权

评论回复
12
eefas| | 2023-5-7 15:15 | 只看该作者
Keil编译器的优化等级有以下几个:

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

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

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

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

自定义优化等级(Ox):用户可以根据具体需求自定义优化等级,例如-Os表示在代码大小和执行效率之间做出平衡。

使用特权

评论回复
13
pl202| | 2023-5-7 15:44 | 只看该作者
优化等级越高,编译时间越长,而且可能会导致代码的可读性下降或出现一些奇怪的问题。

使用特权

评论回复
14
earlmax| | 2023-5-7 15:50 | 只看该作者
编译完之后多留意data,xdata,看有没超出芯片的最大值

使用特权

评论回复
15
geraldbetty| | 2023-5-7 16:03 | 只看该作者
Keil优化及如何设置某段代码不优化

使用特权

评论回复
16
primojones| | 2023-5-7 16:12 | 只看该作者
详见keil优化级别说明                 

使用特权

评论回复
17
janewood| | 2023-5-7 17:00 | 只看该作者
一般用优化等级8                 

使用特权

评论回复
18
primojones| | 2023-5-7 18:28 | 只看该作者
keil优化等级对nop的影响会使程序运行缓慢

使用特权

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

本版积分规则

3

主题

2416

帖子

1

粉丝