6529|0

227

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

IAR编译优化等级介绍 [复制链接]

IAR拥有灵活的优化等级设置,包括不同等级和不同层级的编译优化设置。本文将介绍IAR的编译优化等级设置,不同的编译优化等级设置涉及的编译器优化行为不同。

不同优化等级适应不同的应用需求,MCU资源空间有限时可选择针对代码大小进行优化,对应用实时响应要求较高的情形则应选择针对代码运行速度进行优化。且需注意在项目调试过程中不应将优化等级设置的过高,因高度优化会导致调试过程需要的一些信息丢失。

编译优化设置

IAR的编译优化等级设置由Option->C/C++ Complier->Optimizations打开。如下图所示,IAR提供了4个优化等级设置,分别为NoneLowMediumHigh。图右侧勾选部分代表不同编译器优化行为的使能情况,通过HighMedium等级优化的对比,可以发现设置的编译优化等级越高,使能的编译器优化行为越多。

 

 

 

 

 

 

 

 

 

 

‑1

‑2

针对高等级优化,IAR还提供了更灵活的控制。在高等级编译优化时,可以选择项目的编译优化倾向,针对代码大小优化(Size)、针对代码运行速度优化(Speed)或平衡状态。

‑3

其中,选择针对代码运行速度优化(Speed)时,若MCU剩余的资源空间足够,还可以勾选“No size constraints”选项,该选项将让编译器牺牲一部分的空间占用来换取最快的代码执行速度。这将导致编译的目标文件体积增大,但可以获得更快的代码运行速度。

‑4

IAR提供了多层级的优化等级设置,在工程名称处右键打开Option后进行设置的优化等级设置是针对整个工程生效。IAR也允许对某一个目录或者单独的某一个文件进行单独的优化等级设置。如下图所示,在main.c文件处右键选择Option,勾选红框处的“Override inherited settings”,该选项的含义是使main.c文件的优化等级设置覆掉原来的工程优化等级设置。因此可以对某一个目录或文件应用与整个工程不同的优化等级设置,灵活的优化等级设置能够适应更多的应用情形。

‑5


此内容由EEWORLD论坛网友MamoYU原创,如需转载或用于商业用途需征得作者同意并注明出处

点赞 关注
个人签名

欢迎关注“麦克泰技术”

 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表