隨著嵌入式系統(tǒng)功能越來越多,嵌入式軟件代碼也越來越復(fù)雜,Build時(shí)間也越來越長(zhǎng)。
本文主要介紹如何降低build時(shí)間。
降低Build時(shí)間
使能Parallel Build
使能Parallel Build (Tools > Options > Project > Enable parallel build) (注意:IDE 9版本以上,Enable parallel build是默認(rèn)勾選的):
正確包含頭文件
確保頭文件里面使用頭文件保護(hù),以避免頭文件被重復(fù)包含:
#ifndef HFILE_H #define HFILE_H /* ... */ #endif
確保源文件里面只包含對(duì)應(yīng)需要的頭文件。源文件里面包含不需要的頭文件可能不會(huì)影響編譯的結(jié)果,但是會(huì)影響build時(shí)間(build的時(shí)候會(huì)對(duì)所有的頭文件進(jìn)行預(yù)處理),另外還會(huì)影響代碼的可讀性(一般添加對(duì)應(yīng)的頭文件說明跟對(duì)應(yīng)模塊有關(guān)聯(lián))。
可以通過查看對(duì)應(yīng)的預(yù)處理輸出來查看對(duì)應(yīng)的頭文件包含信息:Options > C/C++ Compiler > Preprocessor > Preprocessor output to file:
編譯會(huì)輸出對(duì)應(yīng)的.i文件,里面會(huì)包含對(duì)應(yīng)頭文件包含信息:
創(chuàng)建和使用Library
對(duì)于一些不需要每次Re-build的代碼(典型的有RTOS的內(nèi)核靜態(tài)代碼,BSP的靜態(tài)代碼等),可以創(chuàng)建Library (Options > General Options > Output > Library),然后在工程里面添加對(duì)應(yīng)的Library (Options > Linker > Library > Additional libraries: (one per line)),這樣build的時(shí)候?qū)?yīng)Library的代碼就不需要重新編譯。
不使能編譯器輸出列表文件
不要勾選輸出編譯器輸出列表文件:Options > C/C++ Compiler > List:
把源文件移到本地電腦上進(jìn)行Build
如果build的時(shí)候,對(duì)應(yīng)源文件沒有在本地電腦上,而是通過網(wǎng)絡(luò)連接訪問,建議把源文件移到本地電腦進(jìn)行build,避免因?yàn)榫W(wǎng)絡(luò)連接問題導(dǎo)致build時(shí)間很長(zhǎng)。
在Windows命令行調(diào)用iarbuild命令進(jìn)行Build
通常來說,在Windows命令行調(diào)用iarbuild命令進(jìn)行build比在IAR Embedded Workbench IDE進(jìn)行build要稍微快一些。
在Linux服務(wù)器上使用IAR Build Tools進(jìn)行Build
前面介紹的一些方法都是基于Windows的IAR Embedded Workbench,IAR提供了可以在Linux上運(yùn)行的IAR Build Tools:
通常來說Linux上調(diào)用IAR Build Tool進(jìn)行build會(huì)比Windows的IAR Embedded Workbench進(jìn)行build要快一些。下面是在同等電腦配置下Linux的IAR Build Tools和Windows的IAR Embedded Workbench的build時(shí)間對(duì)比,可以看到Linux的IAR Build Tools比Windows的IAR Embedded Workbench的build時(shí)間要降低不少。如果Linux服務(wù)器電腦配置更高,對(duì)應(yīng)的build時(shí)間會(huì)降低更多。
總結(jié)
本文主要介紹了如何降低build時(shí)間的一些方法,用戶可以根據(jù)具體情況選擇對(duì)應(yīng)的方法來降低build時(shí)間,提高研發(fā)效率。
審核編輯:劉清
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3553瀏覽量
129113 -
RTOS
+關(guān)注
關(guān)注
21文章
809瀏覽量
119362 -
C++語言
+關(guān)注
關(guān)注
0文章
147瀏覽量
6951 -
預(yù)處理器
+關(guān)注
關(guān)注
0文章
13瀏覽量
2216
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論