调整优化级别
不同的优化级别允许您在编译代码中可用的调试信息级别与代码性能之间进行权衡 。
可以使用以下优化级别 :
o - O0应用最小优化。
大多数优化都被关闭,生成的代码具有最佳的调试视图。
o - O1应用受限优化。
例如,删除未使用的内联函数和未使用的静态函数。在此优化级别,
编译器还应用自动优化,例如删除冗余代码和重新排序指令
,以避免互锁情况。生成的代码经过合理优化,具有良好的调试视图。
o - O2应用高优化(这是默认设置)。
在此级别应用的优化利用了ARM对处理器架构的深入了解,
利用给定目标的处理器特定行为。它生成优化良好的代码,但
调试视图有限 。
o - O3应用最积极的优化。
优化符合用户的 - Ospace / - Otime选择。默认情况下,
启用多文件编译 ,这会导致更长的编译时间,但会提供最高级别的优化。
解决方法:使用优化级别最低的 -O0编译即可。但是如果是输出程序还是要切换回-O3.
注意: -O3切换到 -O0,本来程序编译无警告信息,用 -O0编译会出现一些警告信息,不影响。
全篇完。
本人是一个嵌入式未入门小白,博客仅仅代表我个人主观见解,记录成长笔记。
笔记是以最简单的方式,只展示最核心的原理。
若有与 大神大大 见解有歧义,我绝对坚信 大神大大 见解是对的,我的是错的。
若无积分等无法下载源码,可加入QQ群657407920下载交流经验。感谢~!