历史上的今天
返回首页

历史上的今天

今天是:2025年12月08日(星期一)

正在发生

2022年12月08日 | 提高单片机代码编译速度的几种方法

2022-12-08 来源:zhihu

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

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

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

换更高配置电脑

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

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

所以,这个方法不现实。

减少编译输出文件

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

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头文件。

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

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


推荐阅读

史海拾趣

DESIGNERSYSTEMS公司的发展小趣事

DESIGNERSYSTEMS公司深知,优质的服务是企业赢得客户的关键。他们始终坚持客户至上的原则,为客户提供从咨询、设计到生产、售后的一站式服务。无论客户遇到什么问题,DESIGNERSYSTEMS都能够迅速响应并提供有效的解决方案。这种优质的服务赢得了客户的广泛赞誉和口碑传播,为DESIGNERSYSTEMS在电子行业中树立了良好的形象。

CT Micro公司的发展小趣事
  1. 创业初期与技术创新

CT Micro公司最初由几位电子工程领域的专家创立,他们看到了微型计算机断层扫描(Micro-CT)技术在电子行业中的巨大潜力。初期,公司面临着资金短缺和技术难题,但他们通过不断研发和创新,成功开发出了一款具有高性价比的Micro-CT设备,迅速获得了市场的认可。

  1. 市场拓展与合作伙伴关系

随着产品的成熟,CT Micro开始积极寻求市场拓展。他们与多家电子制造企业建立了合作关系,为这些企业提供Micro-CT设备的定制服务。通过与这些企业的合作,CT Micro不仅扩大了市场份额,还进一步提升了产品的技术水平和应用范围。

  1. 研发升级与产品迭代

面对日益激烈的市场竞争,CT Micro不断投入研发力量,对Micro-CT设备进行升级和迭代。他们成功推出了多款新型设备,具有更高的分辨率、更快的扫描速度和更低的辐射剂量。这些新产品的推出,进一步巩固了CT Micro在电子行业中的领先地位。

  1. 国际化战略与市场拓展

随着国内市场的饱和,CT Micro开始实施国际化战略。他们积极参与国际展览和研讨会,展示自己的产品和技术实力。同时,他们还在海外设立了销售和服务中心,为国际客户提供更加便捷的服务。通过这些努力,CT Micro成功打开了国际市场的大门。

  1. 社会责任与可持续发展

在快速发展的同时,CT Micro也积极履行社会责任。他们注重环保和可持续发展,采用环保材料和节能技术生产产品。此外,他们还积极参与公益事业,为贫困地区的教育和医疗事业贡献力量。这些举措不仅提升了公司的社会形象,也为其可持续发展奠定了坚实基础。

请注意,这些故事框架是虚构的,并不代表CT Micro公司的实际发展情况。如果您需要了解CT Micro公司或类似公司的真实故事,建议您查阅相关公司的官方网站、新闻报道或行业分析报告。

Atmel (Microchip)公司的发展小趣事

2016年,Atmel被美国芯片制造商Microchip以35.6亿美元收购。这一收购事件标志着Atmel发展史上的一个重要转折点。在被收购后,Atmel成为了Microchip的一部分,继续发挥其在微控制器领域的优势,同时也获得了Microchip在技术支持、市场渠道等方面的强大支持。这使得Atmel能够更快地推出新产品、拓展新市场,进一步巩固其市场地位。

远东福斯特公司的发展小趣事

随着产品的不断完善和技术的不断进步,Atmel开始积极拓展全球市场。公司通过建立遍布全球的办事处和销售网络,将产品销往世界各地。同时,Atmel还注重品牌建设,通过优质的产品和服务,赢得了客户的信任和好评。这使得Atmel在全球微控制器市场中逐渐崭露头角。

DL Instruments LLC公司的发展小趣事

随着产品的不断推出和市场的逐步认可,DL Instruments开始积极拓展其市场份额。公司不仅在美国本土市场取得了良好的业绩,还逐渐将产品推向国际市场。通过多年的努力,DL Instruments在电子行业中建立了良好的品牌形象,成为精密仪器制造领域的佼佼者。

DLG Hanbit公司的发展小趣事

随着环保意识的提高,DLG Hanbit公司开始注重环保和可持续发展。公司引进了一系列环保设备和技术,减少了生产过程中的污染物排放。同时,公司还积极推广绿色电子产品,帮助客户实现节能减排。这种环保理念不仅提升了公司的社会形象,也为公司的可持续发展奠定了基础。

问答坊 | AI 解惑

基于DDS的函数发生器的设计方案

基于DDS的函数发生器的设计方案…

查看全部问答>

pcb封装库

PCB的元器件封装看来大家都很需要,论坛有几个发的东西,不是软件自带挣分的就是很少的几个.        有没有高手能弄个比较详细实用的呢!        本人是新手,能不能把PCB设计出后跟制板厂打交道的部分说 ...…

查看全部问答>

【藏书阁】电磁场积分方程法

目录: 绪论 第一章 电磁场的积分表述 第二章 电流场量的积分方法 第三章 物质的磁化及其场量 第四章 积分方程法 第五章 边界积分法 第六章 标量位法 第七章 涡流问题的积分方程法 详细信息: 书名:电磁场积分方程法    & ...…

查看全部问答>

光控路灯

光控路灯   该装置的电路工作原理见图12。白天当有较强的光线照射在光敏电阻RG上时,RG的内阻很小,相当于LSE的①、②脚间串通,此时LSE的④脚输出高电平,三极管VT截止,继电器J释放,路灯H无电源熄灭。一旦夜幕降临,外界的光线很弱,RG的内 ...…

查看全部问答>

我公司要采购智能手机,有能够生产手机的厂商请进入

我公司要采购智能手机.运行windows Mobile操作系统. 具体细节请与我联系 手机:13520556700 QQ:27857491 邮箱:bcj1983@163.com…

查看全部问答>

求51单片机编程器和仿真器

那位大哥或大姐有51单片机的编程器和仿真器,或者原理图.市场卖的太贵,没银子,想自己做一个,又没有原理图,不知道从哪下手,还请各位大哥大姐帮小弟一下!…

查看全部问答>

STM32和STR912FFT的问题请教

请问高手STM32下的DSP库里的FFT可以直接移植到STR912下面吗? 还有.s文件下的FFT-table如何得到的 如: TableFFT_V7          ;N=16         DCW 0x4000,0x0000, 0x4000,0x ...…

查看全部问答>

msOS

上传最近在玩的msOS,感觉挺有意思的,用51就能玩,适合嵌入式入门,有助理解基本概念,其中用的函数指针、结构体数组让我对C又有了新的认识。系统节拍10ms,如果用的单片机没有T2定时器话,改用T0就得了,有兴趣下回去看看,哈哈…

查看全部问答>

为什么AVCC,VEREF+,,VREF-,VREF+和AVSS之间要加104和10uf电容?

如题,加和不加有什么区别?如果一定要加的话,为什么当做在制作单片机的时候内部就做好呢? …

查看全部问答>

电工仿真小软件

一款简单实用的电路仿真小软件 https://download.eeworld.com.cn/detail/lbgood1985/550914 …

查看全部问答>