日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Keil 编译太慢怎么办?教你一招,提速10倍

發布時間:2023/12/19 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Keil 编译太慢怎么办?教你一招,提速10倍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,我是張巧龍,如何提高Keil MDK的編譯速度?看下方步驟!

1. 構建項目

這個項目基于STM32F407,在此基礎上還添加了FreeRTOS和LWIP TCP/IP 協議棧,所以整體的代碼量就被協議棧和RTOS弄得很大,每次構建項目或者重新構建項目的時候,都要花很長的時間,如下圖所示;

可以看到,在這里我用了3分鐘。這個時間太長了,會大大影響我的開發效率,所以后面嘗試了幾個方法,提高構建的速度。

2. 解決方案

首先我找到一個解決辦法就是在構建過程中防止生成 Browse Information 文件。

配置

想要在項目配置中將這個選項勾選去掉即可,最終實踐發現,項目構建時間縮短到 24秒 ,整體還可以接受。

優化后的時間

主要原因其實是構建的時候,避免生成 .CRF 文件,生成這個文件的主要作用就是我們在進行代碼編輯的時候,宏定義,函數原型,函數聲明可以進行跳轉。

CRF

官方文檔中的解釋:Cross-Reference file containing browse information (definitions, references for identifiers).

如果選擇不生成這個文件,代價就是犧牲了我們寫代碼的效率

因為我們寫代碼的時候,會頻繁地進行函數原型和函數聲明直接的跳轉,有時候要跳轉到宏定義,如果無法進行跳轉,使用Keil MDK只能使用全文搜索來替代,因此一定程度上會降低效率。

進行跳轉

當我們嘗試跳轉到函數聲明時,最終提示如下:

錯誤提示

這時候,我喜歡配合其他編輯器,比如source insight,vs code,代碼編輯的工作放在其他體驗更好的軟件中進行,然后代碼的構建和調試又重新回到keil mdk,發揮各自的優勢。

之前寫過一篇使用EIDE的插件,在vs code中導入keil mdk的項目進行開發,在vs code中調用arm cc進行項目的構建。

EIDE在VSCODE中的構建時間

整體的構建時間為 30秒 ,可以接受,然后還能充分發揮vs code在代碼編輯上的優勢,感興趣的可以試一下。

3. 總結

今天的介紹的挺簡單,主要是在keil mdk下開發,構建項目時會產生.CRF文件,從而使構建速度大大降低,從而影響開發效率。

具體的解決辦法是避免生成.CRF文件,但是會影響整體函數原型和聲明以及宏定義的跳轉,可以通過全文搜索,或者借助其他編輯器作為輔助手段來解決。


推薦閱讀:點擊下方圖片即可跳轉閱讀

-END-

我是張巧龍,一名教電子的大學老師,歡迎關注!

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Keil 编译太慢怎么办?教你一招,提速10倍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。