嵌入式专栏的作者|更强的黄微信公众号许多使用Keil MDK的工程师都发现了问题。
当Keil MDK编译代码时,速度非常慢。
编译速度较慢的原因有:编译器代码大小项目配置(生成信息)其中,项目配置中的生成信息包含多种信息,可通过打开项目选项卡来查看。
项目-& gt;目标的选项-& gt;输出/列表:其中有很多信息会影响编译速度,这会生成“浏览信息”。
让我们谈谈浏览信息的内容。
关于Keil浏览信息Keil中的浏览信息是当我们在编辑和调试过程中通过右键单击(或F12快捷键)使用“转到定义” xxx时需要浏览的代码信息:您需要检查在其中生成的浏览信息。
项目配置以使其正常使用功能:浏览信息的生成将影响编译速度。
同时,在Objects(OutPut配置输出路径)文件夹下将有更多* .crf文件(浏览信息文件)。
有关Keil MDK中各种文件的描述,请参阅我的文章:Keil系列教程10_文件类型和相关描述。
AC5和AC6在生成浏览信息方面的区别。
默认情况下,Keil MDK编译器使用Arm编译器(简称AC)。
当前的主流是AC5和AC6。
实际上,AC5和AC6在许多方面确实有所不同。
在使用AC5代码工程之前,很多地方都存在兼容性问题。
1. AC5和AC6以不同的速度生成浏览信息。
如果未生成(未选中)浏览信息,则AC5的编译速度实际上不会太慢。
但是,通常情况下,软件开发工程师通常会生成浏览信息,以便于编辑和调试代码。
AC5和AC6之间的明显区别是编译速度存在很大差异。
即使AC6生成浏览信息,编译时的速度也比AC5快得多。
而且代码量也不同:2. AC5和AC6以不同的方式生成浏览信息。
如果您使用过AC6,您会发现无需编译即可直接浏览代码。
例如,如果直接使用STM32CubeMX配置生成Keil MDK代码,修改配置并使用AC6编译器,则会发现无需编译即可直接转到“定义”。
当然,前提是您需要配置AC6编译器:此外,AC6会在后台自动生成浏览信息,这可能需要几秒钟或更长时间(取决于您的计算机配置)。
免责声明:本文内容经21ic授权后发布,版权归原作者所有。
该平台仅提供信息存储服务。
本文仅代表作者的个人观点,并不代表该平台的立场。
如有任何疑问,请与我们联系,谢谢!