目录
ARM Compiler 6优化等级介绍
-O0:没有优化。不推荐在ARM Compiler 6.6中使用
-O1:有限的优化。这是当前源代码级调试的推荐级别。
-O2:优化速度。由于许多循环展开和函数内联,代码大小将增加。
-O3:优化速度。比-O2生成的代码更快,但更大
-Os:平衡的优化。优化的速度,代码大小的增加是合理的。
-Oz:纯粹优化代码大小
需要详细的了解可以参考Migrate from ARM C/C++ Compiler 5 to ARM Compiler 6https://www.keil.com/appnotes/docs/apnt_298.asp
ARM Compiler 5优化等级介绍
参考:https://blog.csdn.net/zhuimeng_ruili/article/details/108208012
对比测试:
ARM Compiler 5提供了4个不同的优化级别0到3。它们的行为和优化等级有关,优化等级越高,代码越小。
ARM Compiler 6各个优化等级不存在直接的关系,可以将项目在各个优化等级下进行编译,选择最优的优化等级。
编译后代码大小对比
ARM Compiler 5在-O3优化等级下编译后代码大小
ARM Compiler 6在-Oz优化等级下编译后代码大小,实测在ARM Compiler 6编译器下-Oz优化等级下,编译的代码最小。
由此可见仅从生成代码大小来看,ARM Compiler 5更具优势