程序員做軟件開發,討厭一件事,那就是編譯代碼速度很慢的問題。
編碼一分鐘,編譯十分鐘,這誰能受的了?
今天就來說說嵌入式軟件開發中,常見的提高編譯速度的一些操作或者方法。
換更高配置電腦
可能是絕大部分人首先想到的就是:換更高配置的電腦。
這也是其中一個辦法,但是,有幾家公司愿意給你換電腦?
所以,這個方法不現實。
減少編譯輸出文件
有些不必要的調試、瀏覽信息文件,在編譯時可以不用配置輸出,比如:
1.Keil MDK
Project -》 Options for Target -》 Output/Listing:
這里面的的配置,就會影響編譯速度,特別是Browse Information(瀏覽信息),使用Go to Definition Of 功能,就需要有這類文件。
如果勾選,就會輸出一些“編譯中間文件”,你在設置的輸出路徑下(默認“Listings”和“Objects”)就有很多中間文件,這些文件在編譯過程都會占用編譯時間。
這些文件的內容及作用可以參看文章:Keil系列教程_文件類型及相關描述
2.IAR EWARM
類似Keil MDK,IAR也有相關的輸出文件配置,比如:
Project -》 Options -》 C/C++ Compiler -》 output:
在配置信息中也有很多相關與編譯相關的配置,會影響編譯速度。
IAR各種文件類型,可以參看文章:IAR系列教程_文件類型描述
3.命令行如果使用命令行編譯代碼,這個問題就可以避免,編譯、鏈接、調試根據自己的需求輸入響應的命令即可。
比如:
gcc test.c -o test
當然,使用命令行,必須要熟記各種命令的用法。
換編譯工具鏈
這個和換電腦不同的是:換編譯器僅是軟件工具,不用看老板臉色。
比如:
Keil MDK 從AC5升級到AC6,速度就會快很多。
還可以將MDK的編譯器換成gcc編譯器:手把手教你在Keil MDK中使用GCC編譯器工具鏈
可以參看相關的文章:
帶你認識AC6編譯器
編譯器AC5與AC6生成瀏覽信息的差異
AC5 和 AC6 優化選項重要內容和區別
優化代碼
對于嵌入式代碼,大多都是C/C++代碼寫的,都有#include xxx.h頭文件。
如果頭文件反復、多層包含,只要修改一個頭文件,有包含關系的頭文件、源文件都要進行編譯一次,這樣也會影響編譯速度。
類似下圖這種,只要修改最底層一個文件,上層的文件都要編譯一遍:
推薦閱讀文章:軟件項目中引用頭文件的幾種方法及要點
最后,歡迎大家補充更多有效提高編譯速度的方法。
原文標題:嵌入式開發 | 提高單片機代碼編譯速度的幾種方法
文章出處:【微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。
審核編輯:彭菁
-
嵌入式軟件
+關注
關注
4文章
240瀏覽量
26646 -
代碼
+關注
關注
30文章
4788瀏覽量
68612 -
編譯
+關注
關注
0文章
657瀏覽量
32871
原文標題:嵌入式開發 | 提高單片機代碼編譯速度的幾種方法
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論