关注+星标公众号,不错过精彩内容
作者 | strongerHuang
微信公众号 | 嵌入式专栏
嵌入式专栏
Keil MDK 配置 AC6编译:
嵌入式专栏
AC6默认,默认值为-O0
。这种情况下,代码不做优化,适用于在线调试。
对于需要优化,但不是对速度和时间非常苛刻,通常建议使用-Os balanced
。
对于存储容量小的芯片,可以使用-Oz
选项以获得最佳代码大小,此优化级别会降低调试体验。
对运行效率(时间)有要求的工程,可以使用-Ofast
优化代码。
当然,如果使用armlink命令行,还有-Omin,-Omax等选项。
AC6编译器的优化选项(含命令选项很多),这里可以参看我之前的一篇文章:AC5 和 AC6 优化选项重要内容和区别
嵌入式专栏
除了在Keil MDK中使用常规的优化选项之外,还有很多选项,在使用的时候需要注意。
比如:-Omin
将自动启用armclang
-flto
选项,并且生成的目标文件不适合创建静态库。
使用-Omin
、-Omax
时,Arm 无法保证在所有代码情况下都能实现最佳的代码大小优化。
启用-ffp-mode=fast
armclang选项执行的积极优化可能会违反严格遵守语言标准的规定。
后台回复『编译器』『Keil系列教程』阅读更多相关文章。
点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。