提高单片机代码编译速度的几种方法

发布时间:2022-12-08  

程序员做软件开发,讨厌一件事,那就是编译代码速度很慢的问题。

编码一分钟,编译十分钟,这谁能受的了?

今天就来说说嵌入式软件开发中,常见的提高编译速度的一些操作或者方法。

换更高配置电脑

可能是绝大部分人首先想到的就是:换更高配置的电脑。

这也是其中一个办法,但是,有几家公司愿意给你换电脑?

所以,这个方法不现实。

减少编译输出文件

有些不必要的调试、浏览信息文件,在编译时可以不用配置输出,比如:

1.Keil MDK

Project -> Options for Target -> Output/Listing:

这里面的的配置,就会影响编译速度,特别是Browse Information(浏览信息),使用Go to Definition Of 功能,就需要有这类文件。

如果勾选,就会输出一些“编译中间文件”,你在设置的输出路径下(默认“Listings”和“Objects”)就有很多中间文件,这些文件在编译过程都会占用编译时间。

2.IAR EWARM

类似Keil MDK,IAR也有相关的输出文件配置,比如:

Project -> Options -> C/C++ Compiler -> output:

在配置信息中也有很多相关与编译相关的配置,会影响编译速度。

3.命令行

如果使用命令行编译代码,这个问题就可以避免,编译、链接、调试根据自己的需求输入响应的命令即可。

比如:

当然,使用命令行,必须要熟记各种命令的用法。

换编译工具链

这个和换电脑不同的是:换编译器仅是软件工具,不用看老板脸色。

比如:

Keil MDK 从AC5升级到AC6,速度就会快很多。

还可以将MDK的编译器换成gcc编译器:手把手教你在Keil MDK中使用GCC编译器工具链

优化代码

对于嵌入式代码,大多都是C/C++代码写的,都有#include xxx.h头文件。

如果头文件反复、多层包含,只要修改一个头文件,有包含关系的头文件、源文件都要进行编译一次,这样也会影响编译速度。

类似下图这种,只要修改最底层一个文件,上层的文件都要编译一遍:


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    )   {}  } 这里只是伪代码处理办法,原理就和上面所讲的一样,在结构体中使用变量和函数。 到这里你应该掌握了面向对象得单片机编程方法,一起来试验几个例子: LED灯 typedef......
    单片机实用工具大全,超级赞,工程师必备!;作为一个电子工程师,在大众的眼里,你们似乎拥有麒麟臂,上能九天揽月,下可五洋捉鳖,抄板、焊板、画板、仿真、编程、调试、创意什么的通通不在话下。 今天,创客学院小编要给各位大佬介绍几款非常实用的单片机......
    语言,单片机,学完以后你会发现还是一样的,还是做不出来。 我们无际单片机编程有些学员就是这样,差点误以为自己基础差走了弯路。 像这种问题,一般只要不是你语法不会,单片机外设不会用。 我都建议继续看我们教程和代码......
    STM32单片机编程方式及工作原理;STM32单片机编程可以使用多种不同的编程语言和工具,下面是一些常用的编程方式: C语言编程:C语言是STM32单片机编程中最常用的编程语言之一,STM32提供......
    . STM32Cube STM32Cube是ST公司发布的一款免费的单片机编程框架。它基于HAL(Hardware Abstraction Layer)和LL(Low-Layer)驱动库,并集成了代码......
    的理论知识。 我在这里给大家举个例子,说明一下单片机编程的实战有多简单。 例如:如果要完成点亮LED1,代码见下: #include “reg52.h” //单片机头文件sbit  LED1 = P2^7......
    单片机编程好学吗?单片机初学者怎样看懂代码?;单片机在很多人看来好像门槛很高,在某些人看来很简单。 所以,单片机编程好不好学,这取决于谁去学,有没有基础,有没有兴趣。 我自己是通过自学学会的,我个......
    单片机c语言基础知识,c语言必背的100代码;我记得刚开始接触编程的时候,觉得太难了。 也很好奇,写代码的那些人也太厉害了吧?全是英文的,他们的英文水平一定很好吧? 他们是怎么记住这么多代码......
    大多数的同学和我是一样的,一大堆指令,感到非常的无趣,没有什么意思,考试也是一大堆理论知识。 当然现在大学里的课程可能已经做了升级,关于单片机编程以及单片机C语言这一块了不知道大学里有没有增加,课程......
    分析:在语法树上进行类型检查和语义分析,确定变量类型和作用域等信息。 (4) 代码生成:将语法树转换为目标代码,生成可执行程序或库文件。 2. 汇编语言 在51单片机编程中,使用......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>