关键词:
点击上方“小麦大叔”,选择“置顶/星标公众号”
福利干货,第一时间送达
大家好,我是小麦,最近我在进行一个项目的开发,用的IDE是Keil mdk,由于代码量逐渐增加,发现编译的速度越来越慢。
构建项目
这个项目基于STM32F407,在此基础上还添加了FreeRTOS
和LWIP TCP/IP
协议栈,所以整体的代码量就被协议栈和RTOS弄得很大,每次构建项目或者重新构建项目的时候,都要花很长的时间,如下图所示;
可以看到,在这里我用了3分钟。这个时间太长了,会大大影响我的开发效率,所以后面尝试了几个方法,提高构建的速度。
解决方案
首先我找到一个解决办法就是在构建过程中防止生成 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
在代码编辑上的优势,感兴趣的可以试一下。
总结
今天的介绍的挺简单,主要是在keil mdk
下开发,构建项目时会产生.CRF
文件,从而使构建速度大大降低,从而影响开发效率。
具体的解决办法是避免生成.CRF
文件,但是会影响整体函数原型和声明以及宏定义的跳转,可以通过全文搜索,或者借助其他编辑器作为辅助手段来解决。
—— The End ——
推荐好文 点击蓝色字体即可跳转
欢迎转发、留言、点赞、分享给你的朋友,感谢您的支持!
点击上方名片关注公众号
分享 💬 点赞 👍 在看 ❤️
以“三连”行动支持优质内容!
keil切换到armclang编译器,到底强在哪里?(代码片段)
...好,我是小麦,上次写过一篇文章《Keil编译太慢怎么办?教你一招,提速10倍 》,减少了中间文件的生成,确实把编译速度提高了很多,其实没有从根本上解决问题,有大佬提出用直接上AC6。于是... 查看详情
keil切换到armclang编译器,到底强在哪里?(代码片段)
...好,我是小麦,上次写过一篇文章《Keil编译太慢怎么办?教你一招,提速10倍 》,减少了中间文件的生成,确实把编译速度提高了很多,其实没有从根本上解决问题,有大佬提出用直接上AC6。于是... 查看详情
教你一招:win7或win10右键菜单添加获取管理员权限
当我们从经典的windowsXP系统升级到win7或win10,我们会发现,想要删除一些文件时,总是提示被占用或者是没有权限,很是烦恼。 这里,写下解决这个烦恼的办法,以安慰心里的不平。 1、新建一个TXT文件,将下面的... 查看详情
[转]教你一招-如何给nopcommerce增加新闻类别模块
...一直都没有新闻类别,但是很多情况下都会使用到类别,怎么办呢,自己动手吧。1、首先创建新闻类别表,脚本如下:?1234567891011121314151617CREATETABLE[dbo].[NewsCategory](& 查看详情
教你一招:win10切换输入法与win7一样(ctrl+空格)
...ctrl+Shift都能在搜狗输入法和美式键盘切换。下面小编就教你怎么让Win10切换输入法与Win7一样(Ctrl+空格)。设置步骤:1、先安装第三方输入法 比如搜狗输入法。2、进入语言设置 鼠标右键开始菜单——选择控制面... 查看详情
教你一招:网站增加打赏功能
1、前提条件: 设置——博客设置——博客侧边栏公告(支持HTML代码)后面的如果是“申请开通”,必须先申请开通;如果是“支持js代码”,那就代表你已经开通过了,有写js代码的权限了2、准备材... 查看详情
教你一招:win10系统如何正确卸载edge浏览器?
Edge浏览器作为Win10系统默认浏览器,尽管我们将其他浏览器设置为默认程序,但是有时候还是会自动弹出,非常的不爽,但是在控制面板中却又找不到卸载“Edge”浏览器的选项。下面小编就教大家卸载“Edge”浏... 查看详情
win11任务栏太宽了怎么办?教你一招快速修改任务栏大小(代码片段)
...#xff0c;想要调整任务栏的大小又不知道怎么调整,这要怎么办呢?操作方法右键我们的开始菜单,选择【运行】或者win 查看详情
win11任务栏太宽了怎么办?教你一招快速修改任务栏大小(代码片段)
...#xff0c;想要调整任务栏的大小又不知道怎么调整,这要怎么办呢?操作方法右键我们的开始菜单,选择【运行】或者win 查看详情
怎么分割pdf文件,办公达人教你一招
现在网上下载的文件经常都是以PDF格式呈现的,一些好的资料都会存在一些内存比较大的问题,对于一些电脑老手来说,他们肯定有很多解决方法,但是对于刚刚接触电脑行业的人来说就比较困难了。今天我们一起讨论一下怎么... 查看详情
微信表情150个限制怎么破?教你一招
微信有那么高的DAU,朋友圈的贡献最高,其次是收发消息(图片文字、语音、视频等),第六是微信表情,所谓一图抵千言,微信表情增加了社交的趣味性,试问哪位朋友没保存表情的?可微信表情限制只能保存150个,有没... 查看详情
教你一招:github新建repositories后import已有code随后同步更新
...的代码修改后,别人的又更新了,自己想获取他的更新,怎么办呢?其实很简单。#1gitclone自己新建的项目到本地,例如新建了一个suda_android:gitclonehttps://github.com/DinphyMod/suda_android.git#2进入克隆下来的本地项目里c 查看详情
教你一招,彻底清除“一刀999”的弹窗广告
...天我就来分享如何屏蔽广告![666]跟弹窗广告说拜拜教你一招,彻底清除恶意软件的弹窗广告。一、首先按Win+R打开运行二、然后我们输入MRT,点击确定三、之后就打开了这个win10 查看详情
好系统u盘启动教你一招解放win10磁盘占用100%的方法
...存,这也是非常占用磁盘空间的。今天就这一问题,小编教你如何解放win10的磁盘空间。方法一:取消自动维护优化计划,关闭磁盘碎片整理。1、找到C盘,右键属性,找到“ 查看详情
教你一招vscode如何配置c/c++开发环境?
...xff0c;对于大多数编程语言,只需要简单的安装解释器/编译器就可以轻松的运行。例如,Python,只需要取官网下载对应版本的Python并安装,就可以在VSCode进行Python的开发和调试。但是,C/C++则不同,它... 查看详情
代码写的烂,经常被同事怼,教你一招!(代码片段)
面对复杂的业务场景,千变万化的客户需求,如何以一变应万变,以最小的开发成本快速落地实现,同时保证系统有着较低的复杂度,能够保证系统后续de持续迭代能力,让系统拥有较高的可扩展性。本文... 查看详情
如何将pdf转换成jpg,转换达人教你一招搞定(代码片段)
PDF文件和JPG图片都是工作中比较常用的两种格式,二者之间有着很大的区别,常常因为工作,我们需要将这两种格式进行转换,利用他们的优点来帮助我们完成工作。那你们知道如何将PDF转换成JPG吗,可能对于电脑新手都不知道... 查看详情
matplotlib保存图片设置分辨率总是96dpi,好烦躁,教你一招轻松解决
matplotlib保存图片设置分辨率总是96dpi,好烦躁,教你一招轻松解决目录matplotlib保存图片设置分辨率总是96dpi,好烦躁,教你一招轻松解决 查看详情