解决了Keil编译非常慢的问题,从编译11分钟变成了8秒钟

开篇直接放图,开门见山

解决前
解决后

一个RTOS+LVGL库的keil工程给我编译了整整11分钟47秒,看到这一幕给我气笑了。

引言

因为一些原因,最近几个星期没有用过keil来写代码,昨天用keil的时候,突然发现怎么我的Keil怎么变得这么慢了?花了居然两分钟。

于是我换了最简单的点灯的程序编译,平常只需要5秒钟的编译,居然花了我一分钟半。。。

编译最简单的点灯程序耗费的时间

然后我换了一个内存占用大一点的工程来编译,于是就出现了开篇的一幕。

1.首先猜测是否Keil的问题

明明之前都用的好好的,怎么今天变成这样了。之前我从来没有遇到过编译既然这么慢的问题,就算慢,也只是有点慢而已,参考别人的文章稍微修改一下Keil的配置就好了。

我检查了一下Keil的配置,发现应该不是Keil配置的问题,毕竟keil配置再怎么配也不会让编译了分钟的工程,变成8秒钟吧

然后我重装了一下Keil,高版本重装Keil,低版本重装Keil都不行。

到这一步都还没有解决我就感觉这个问题不好办了,因为已经排除了Keil的问题,我开始初步怀疑windows系统的问题。。。

2.是否是Windows系统的问题?

我查了一下博客资料,看到这一篇

参考文章链接:嵌入式开发避坑指南 | Keil编译龟速难题破解:杀毒软件竟是元凶?_keil编译慢怎么回事-CSDN博客

删除了微软电脑管家之后的截图

这篇文章的笔者说是电脑下载了微软电脑管家的问题,我检查了一下我的电脑是否下载了这个软件,一检查,还真有,我马上就给他卸载了。

我以为事情就这样结束了,结果问题并没有得到解决,编译还是一样的慢,看来并不是这个问题。

我又翻了好多篇博客文章,而且Keil编译慢这方面的文章又很少,也问了好多群友,电脑也重启了好几次,依旧没有找到问题的解决办法。

3.想打算用VSCode代替Keil来编译

        花了好几个小时,还是没有解决问题,都打算用VSCode来代替Keil了。因为之前在VSCode搭建过Keil的环境

VSCode编译最简单的点灯程序

结果还是花了将近30多秒的时间,之前用VSCode编译本来只需要三四秒。。。

用VScode代替Keil太麻烦了,很多教学视频、项目对接都是用Keil,,真代替了十分不便,而且VSCode编译,也还是太慢了,问题还是没有解决。

再解决不了,真要给电脑重装系统了。

4.问题分析初见端倪

VSCode编译的过程

正当我一筹莫展时,我发现VSCode一个一个编译库函数文件时,每一个库函数文件编译完成的尾部好像都有一条Delay函数卡住,而且Delay函数还是一个固定值,周期性的编译库函数文件。

外加上今天我发现我电脑截图响应的时间比以前慢上了好几秒,于是我现在十分怀疑是Windows系统的问题。

5.事情迎来转折点

从发现问题到现在已经过了两三个小时了,这时候的我其实已经快要放弃了,因为如果是windows系统的问题的话本身就很难解决

抱着最后再试一试的心态,再找找其他的办法。

我感觉到windows系统带来的问题最直观的就是电脑截图变卡了,于是我在谷歌浏览器搜索了一下这个问题:电脑截图很慢卡顿是怎么回事?

我看到了这个:

这个方法给我的感觉就十分不同,感觉有希望解决我的问题,于是我尝试了一下这个方法

万万没想到,天无绝人之路,按照步骤做,然后重启电脑,没想到既然解决了!这是我怎么也没有想到的

问题最终解决,解决之后十一分钟的编译时间,变成了八秒钟。

提醒一下一定要记得勾选“隐藏所有Microsoft服务”。没有勾选这个选项的话,会导致电脑重启之后,电脑WIFI、蓝牙什么的其他基础功能直接就没有了。(试过了)

6.产生问题的原因

        我大概推测一下,有可能是我最近安装了一些软件或者插件的原因,这些软件或者插件会在系统配置里直接就开机自启动,在后台运行,重启电脑也没用,而且你也发现不了。我最近也没有安装什么病毒,什么危险性的软件,都是下载的权威的软件和一些资料,不知道为什么会怎样。既然已经解决了问题,我也不继续往下揪了,卡了我半天的时间,早已经没有耐心去刨根问底了,以后再出现什么问题再说吧。

总结

        这次问题的解决可以说是十分的侥幸了,问题的根源并没有找到,但是问题解决了就好。这些功能全部禁掉之后不知道后续会不会有什么影响,不过这些功能都不是windows微软的基础功能,因为微软的基本服务我们都已经隐藏了,不会有什么太大的影响,不过目前唯一发现的影响就是:我的steam的wallpaper不能开机自启动了哈哈,找到系统配置把和自己相关的再打开了就行了。

        后续如果有问题的话我再记录,就先到这吧

评论 42
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值