0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何降低Build时间?有哪些方法呢?

IAR爱亚系统 来源:IAR爱亚系统 2023-08-24 17:06 次阅读

随着嵌入式系统功能越来越多,嵌入式软件代码也越来越复杂,Build时间也越来越长。

本文主要介绍如何降低build时间。

降低Build时间

使能Parallel Build

使能Parallel Build (Tools > Options > Project > Enable parallel build) (注意:IDE 9版本以上,Enable parallel build是默认勾选的):

e3996c64-425c-11ee-a2ef-92fbcf53809c.png正确包含头文件

确保头文件里面使用头文件保护,以避免头文件被重复包含:

#ifndef HFILE_H
#define HFILE_H
 /* ... */
#endif

确保源文件里面只包含对应需要的头文件。源文件里面包含不需要的头文件可能不会影响编译的结果,但是会影响build时间(build的时候会对所有的头文件进行预处理),另外还会影响代码的可读性(一般添加对应的头文件说明跟对应模块有关联)。

可以通过查看对应的预处理输出来查看对应的头文件包含信息:Options > C/C++ Compiler > Preprocessor > Preprocessor output to file:

e3d1c8ac-425c-11ee-a2ef-92fbcf53809c.png

编译会输出对应的.i文件,里面会包含对应头文件包含信息:

e3fc6422-425c-11ee-a2ef-92fbcf53809c.png

创建和使用Library

对于一些不需要每次Re-build的代码(典型的有RTOS的内核静态代码,BSP的静态代码等),可以创建Library (Options > General Options > Output > Library),然后在工程里面添加对应的Library (Options > Linker > Library > Additional libraries: (one per line)),这样build的时候对应Library的代码就不需要重新编译。

e4248ac4-425c-11ee-a2ef-92fbcf53809c.pnge45db628-425c-11ee-a2ef-92fbcf53809c.png

不使能编译器输出列表文件

不要勾选输出编译器输出列表文件:Options > C/C++ Compiler > List:

e47ec5d4-425c-11ee-a2ef-92fbcf53809c.png

把源文件移到本地电脑上进行Build

如果build的时候,对应源文件没有在本地电脑上,而是通过网络连接访问,建议把源文件移到本地电脑进行build,避免因为网络连接问题导致build时间很长。

在Windows命令行调用iarbuild命令进行Build


通常来说,在Windows命令行调用iarbuild命令进行build比在IAR Embedded Workbench IDE进行build要稍微快一些。

Linux服务器上使用IAR Build Tools进行Build

前面介绍的一些方法都是基于Windows的IAR Embedded Workbench,IAR提供了可以在Linux上运行的IAR Build Tools:

e4bb7b5a-425c-11ee-a2ef-92fbcf53809c.png

通常来说Linux上调用IAR Build Tool进行build会比Windows的IAR Embedded Workbench进行build要快一些。下面是在同等电脑配置下Linux的IAR Build Tools和Windows的IAR Embedded Workbench的build时间对比,可以看到Linux的IAR Build Tools比Windows的IAR Embedded Workbench的build时间要降低不少。如果Linux服务器电脑配置更高,对应的build时间会降低更多。

e4e33032-425c-11ee-a2ef-92fbcf53809c.png

总结

本文主要介绍了如何降低build时间的一些方法,用户可以根据具体情况选择对应的方法来降低build时间,提高研发效率。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式系统
    +关注

    关注

    41

    文章

    3564

    浏览量

    129224
  • RTOS
    +关注

    关注

    21

    文章

    809

    浏览量

    119430
  • C++语言
    +关注

    关注

    0

    文章

    147

    浏览量

    6969
  • 预处理器
    +关注

    关注

    0

    文章

    13

    浏览量

    2221
收藏 人收藏

    评论

    相关推荐

    请问大致哪些方法能够完成我检测扰动发生时间的目的

    请问我做的是电网扰动检测,上传的数据带有统一时标,数据是最开始稳定的,当出现扰动时数据发生突变,哪些方法能够检测出突变数据,从而得出扰动时间 ,希望大家多多帮忙哦,我在这里先谢谢大
    发表于 06-09 15:55

    什么方法可以降低Linux的成本吗?

    请问什么方法可以降低Linux的成本吗?
    发表于 04-25 06:15

    什么方法可以降低电缆的电感量吗?

    什么方法可以降低电缆的电感量吗?
    发表于 05-11 07:02

    什么方法可以降低微波/射频器件的成本吗?

    什么方法可以降低微波/射频器件的成本吗?
    发表于 05-25 06:49

    什么方法可以降低LCD的噪声?

    液晶显示(LCD)技术的基本原理是什么?液晶显示(LCD)噪声产生的原因是什么?什么方法可以降低LCD的噪声?
    发表于 05-31 06:08

    请教一下怎么去降低带隙上电稳定时间

    启动时震荡时间过长,恢复时间都有接近15us了,请问什么办法能够降低恢复时间
    发表于 06-22 07:33

    什么方法可以降低IC封装的热阻吗?求解

    什么方法可以降低IC封装的热阻吗?求解
    发表于 06-23 07:24

    什么方法可以实现时间戳转日期的算法

    什么方法可以实现时间戳转日期的算法?怎样去实现时间戳转日期的算法
    发表于 10-19 09:23

    FPGA中组合逻辑门占用资源过多怎么降低

    FPGA中组合逻辑门占用资源过多怎么降低什么方法吗?
    发表于 04-23 14:31

    小米6发布时间确定:时间了,那小米6配置

     4月19日是小米6的发布时间。废话不多说,时间了,配置
    发表于 04-12 23:18 1645次阅读

    如何降低build时间的办法

    确保源文件里面只包含对应需要的头文件。源文件里面包含不需要的头文件可能不会影响编译的结果,但是会影响build时间build的时候会对所有的头文件进行预处理),另外还会影响代码的可读性(一般添加对应的头文件说明跟对应模块有关联
    发表于 08-24 17:08 352次阅读
    如何<b class='flag-5'>降低</b><b class='flag-5'>build</b><b class='flag-5'>时间</b>的办法

    哪些方法能够降低开关电源EMI的影响

    哪些方法能够降低开关电源EMI的影响降低开关电源电磁干扰(EMI)的影响是一个重要的问题,特别是在要求电子设备对EMI敏感的应用中。
    的头像 发表于 11-07 10:35 805次阅读

    如何降低芯片上电时的峰值电流

    如何降低芯片上电时的峰值电流降低芯片上电时的峰值电流是提高芯片可靠性和效率的关键问题之一。在本文中,我将详细介绍一些降低芯片上电时峰值电流的有效
    的头像 发表于 11-07 10:42 1371次阅读

    常见的降低接地电阻的方法哪些

    常见的降低接地电阻的方法哪些降低接地电阻是保证电气设备正常运行和提高设备安全性的重要措施之一。在实际工程应用中,可以采取多种
    的头像 发表于 01-23 15:28 2781次阅读

    电机损耗降低方法哪些

    电机作为现代工业生产中不可或缺的动力设备,其性能的优化与效率的提升对于节能减排、提高生产效率具有重要意义。电机损耗的降低不仅有助于减少能源消耗,还能延长电机的使用寿命,提高设备的整体运行效率。本文将详细介绍电机损耗降低方法,并
    的头像 发表于 06-11 17:31 723次阅读