Keil 编译太慢怎么办?教你一招,提速10倍
大家好,我是张巧龙,如何提高Keil MDK的编译速度?看下方步骤!
1. 构建项目
这个项目基于STM32F407,在此基础上还添加了FreeRTOS
和LWIP TCP/IP
协议栈,所以整体的代码量就被协议栈和RTOS弄得很大,每次构建项目或者重新构建项目的时候,都要花很长的时间,如下图所示;
可以看到,在这里我用了3分钟。这个时间太长了,会大大影响我的开发效率,所以后面尝试了几个方法,提高构建的速度。
2. 解决方案
首先我找到一个解决办法就是在构建过程中防止生成 Browse Information
文件。
想要在项目配置中将这个选项勾选去掉即可,最终实践发现,项目构建时间缩短到 24秒 ,整体还可以接受。
主要原因其实是构建的时候,避免生成 .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
进行项目的构建。
整体的构建时间为 30秒 ,可以接受,然后还能充分发挥vs code
在代码编辑上的优势,感兴趣的可以试一下。
3. 总结
今天的介绍的挺简单,主要是在keil mdk
下开发,构建项目时会产生.CRF
文件,从而使构建速度大大降低,从而影响开发效率。
具体的解决办法是避免生成.CRF
文件,但是会影响整体函数原型和声明以及宏定义的跳转,可以通过全文搜索,或者借助其他编辑器作为辅助手段来解决。
推荐阅读:点击下方图片即可跳转阅读
-END-
我是张巧龙,一名教电子的大学老师,欢迎关注!
Keil 编译太慢怎么办?教你一招,提速10倍相关推荐
- VSCODE下载太慢(教你一招解决)
Visual studio code下载太慢大多数是因为VSCODE官网服务器跟我们国内的链接速度有关,下面教大家一招解决下载过慢问题. 解决办法很简单就是替换掉下载域名,例如我们在VSCODE官网上 ...
- 【物联网】老程序教你一招,10行代码让超声波模块秒变声控开关
目录 1. 超声波模块的测距原理 2. 超声波模块如何与Arduino开发板连接 3. 先从测距开始 4. 如何将超声波改造成声控开关 5. 再加一个超声波开关 在本文最后有完整的视频讲解 玩Ardu ...
- 百度网盘下载资源太慢,教你一招,速度直接提升到10MB/s
前提: 1.一台Windows电脑(手机不支持) 2.百度网盘桌面端 如果没有下载,单击这里下载 注意: 这个教程用的是官方设置,不是第三方的辅助软件,所以没有封号的风险,可能哪天就没有这个功能了,所 ...
- 2020移动apn接入点哪个快_手机WiFi网速度太慢?教你一招网速翻倍好用,比5G还快...
手机WiFi网速慢似蜗牛速度,出现这样的情况时,不要怀疑是你的WiFi有问题,其实只是你的手机不会设置,导致在连接WiFi使用手机时网速非常缓慢.下面就教大家一招快速提升网速,让你的手机瞬间流畅. 方 ...
- linux vtune 生成文字报告,文字报告太枯燥,教你一招,只需十分钟,一屏可视化!...
我们都明白,相对于枯燥的文字,一些有视觉冲击的事物印象更深.在工作过程中,如在日常的工作汇报中,将采集到的数据信息进行统计.分析,再将数据用图形的方式表达.会方便我们对数据的把控,更直观了解到数据情 ...
- linux otg 大容量存储设备,大容量存储个人设备有哪些 | 教你一招解决大容量存储多种问题_什么值得买...
移动固态硬盘不仅贵而且局限太大?教你一招解决大容量存储多种问题 2020-07-16 23:26:00 3点赞 25收藏 17评论 创作立场声明:文章尽量客观,能够覆盖产品的优点和不足. Hello大 ...
- 重装系统后桌面找不到计算机,电脑重装找不到桌面文件了?教你一招,再也不用担心文件消失!...
原标题:电脑重装找不到桌面文件了?教你一招,再也不用担心文件消失! 在工作中,我们习惯性的都会将一些文件直接保存在桌面,这样方便我们去查找,但是也会遇到电脑系统崩溃,需要重装电脑,不过这时候在登录到桌 ...
- KEIL编译stdarg处理机制遇到incorrect use之类的问题
文章转自:https://blog.csdn.net/chengdong1314/article/details/74625528 SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4 ...
- keil编译c语言检测,keil c中没有使用到的函数会编译时候会有警告
想写一个模块,模块里面有我常用的一些功能函数,比如: a.h文件 #ifndef _a_h_ #define _a_h_ extern void one(void); extern void two( ...
最新文章
- 数据库基础笔记(MySQL)6 —— 基础事务
- 关于page object(PO)模型的介绍
- python完全支持面向对象编程_[Python] 类与面向对象编程
- 曹大:我的快速阅读法
- Spring boot系列--redis使用之1
- Effective_STL 学习笔记(二十七) 用 distance 和 advance 把 const_iterator 转化成 iterator...
- .Net Core及.Net Standard主要概念回顾
- ora使用动态sql给变量赋值
- 从零开始搭二维激光SLAM --- Karto的后端优化与回环检测的实现解读
- iOS Crash类别总结
- 转 GRE -- ME 似乎有件事,一直等待着我去做,努力去做。
- lzg_ad:EWF启用常见问题及解决方案
- kaminari分页插件的使用
- 机器学习-泰坦尼克号幸存者预测
- IC设计书籍信息收集
- Postgresql 配置文件详解
- 音视频开发之旅(34) - 基于FFmpeg实现简单的视频解码器
- 大豆烘干设备原理,大豆烘干步骤
- 计算机网络原理复习(一)
- 特征提取与检测(二) --- SIFT算法
热门文章
- MyTask - old implementation - getEntitySet
- where is Angular parts filled
- How to deal with error message Could not start the app due to a configuration problem
- CRM Extension field render and property handling
- RFC Destination WORKFLOW_LOCAL_001 - User WF-BATCH
- SAP ABAP实用技巧介绍系列之 ABAP内存管理学习
- where used list repository table WBCROSSGT
- SAP UI5关于navigation API的boolean参数
- SAP CRM里使用BAdI阻止产品主数据保存的一种办法
- Excel2019(Office 2019)导入数据网页(文本txt)无法显示以前样式的问题(终极解决方案)