KEIL 5 level3优化等级的优化

Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

level3优化等级的优化规则有哪些,优化了些什么东西,具体和level1的优化等级有哪些区别

0 件の賞賛
1 解決策
Translation_Bot
Community Manager
Community Manager
Community Manager

回答来自 ChatGPT:

以下是Keil MDK的优化等级及选项的详细说明:

  1. 无优化 (-O0):不进行任何优化,用于调试和开发阶段。代码生成快,但是生成的代码质量较低,程序执行效率较慢,代码大小较大。

  2. 优化等级1 (-O1):基本的优化等级,删除未引用的代码、常量折叠等方式提高程序执行效率。相对于-O0,程序执行效率更高,但是代码大小相对较大。

  3. 优化等级2 (-O2):中等的优化等级,除了1中提到的优化之外,还进行了函数内联、循环展开等中等程度的优化。相对于-O1,程序执行效率更高,同时代码大小也有所降低。

  4. 优化等级3 (-O3):最高的优化等级,除了2中提到的优化之外,还进行了代码重排、指令调度等高级程度的优化。相对于-O2,程序执行效率更高,但是代码大小会有所增加,同时编译时间也会变长。

  5. 优化等级s (-Os):基于优化等级2,主要优化代码大小,对于兼顾程序性能和大小的场景使用。相对于-O2,程序代码大小更小,但是执行效率略有降低。

  6. 优化等级z (-Oz):基于优化等级3,主要优化代码大小,对于兼顾程序性能和大小的场景使用。相对于-O3,程序代码大小更小,但是执行效率略有降低。

 

元の投稿で解決策を見る

0 件の賞賛
2 返答(返信)
Translation_Bot
Community Manager
Community Manager
Community Manager

回答来自 ChatGPT:

以下是Keil MDK的优化等级及选项的详细说明:

  1. 无优化 (-O0):不进行任何优化,用于调试和开发阶段。代码生成快,但是生成的代码质量较低,程序执行效率较慢,代码大小较大。

  2. 优化等级1 (-O1):基本的优化等级,删除未引用的代码、常量折叠等方式提高程序执行效率。相对于-O0,程序执行效率更高,但是代码大小相对较大。

  3. 优化等级2 (-O2):中等的优化等级,除了1中提到的优化之外,还进行了函数内联、循环展开等中等程度的优化。相对于-O1,程序执行效率更高,同时代码大小也有所降低。

  4. 优化等级3 (-O3):最高的优化等级,除了2中提到的优化之外,还进行了代码重排、指令调度等高级程度的优化。相对于-O2,程序执行效率更高,但是代码大小会有所增加,同时编译时间也会变长。

  5. 优化等级s (-Os):基于优化等级2,主要优化代码大小,对于兼顾程序性能和大小的场景使用。相对于-O2,程序代码大小更小,但是执行效率略有降低。

  6. 优化等级z (-Oz):基于优化等级3,主要优化代码大小,对于兼顾程序性能和大小的场景使用。相对于-O3,程序代码大小更小,但是执行效率略有降低。

 

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは君莫笑、

感谢你在英飞凌技术社区的积极提问!对此,我们有一些小小的建议:

由于本界面是英文界面,你在本界面的提问都会统一被送到国外的工程师那边进行回答,但是由于提问内容是中文,所以这些问题又会再次转手给国内的工程师进行回答,这样反而会耽误你获得答案的时间。因此,我们建议你在中文界面中进行提问,这样方便我们的工程师分配对应的FAE 进行回答。

要切换到中文界面,你可以直接点击右上角的语言选择,勾选"CN-简体中文"即可。

谢谢!

0 件の賞賛