11241|1

6366

帖子

4929

TA的资源

版主

楼主
 

IAR与Keil两款开发工具的区别 [复制链接]

IAR及IAR Embedded Workbench,KEIL及Keil MDK-ARM,这两款都是ARM开发工具。那么,IAR与Keil两款开发工具区别在于哪里呢?KEIL可以自动配置启动代码,集成Flash烧写模块,而且支持性能分析功能;而IAR是一套用于编译和调试嵌入式系统应用程序开发工具,支持汇编、C和C++语言,为伙伴们提供了完整的集成开发环境,而且还包括管理器、编辑器等。同时IAR能够支持由不同芯片制造商生成,并且种类繁多,下面我们就想笑了解下IAR与Keil两款开发工具区别到底在于哪里!!



IAR与Keil两款开发工具区别介绍:


一、MDK不支持层叠文件夹,在文件夹的下一级中必须为文件;IAR支持层叠,可以比较方便管理代码,理清层次。
二、 MDK支持dynamic_cast运算符,而IAR文档中明确表示不支持。如果在IAR中强行使用该运算符,则编译会报错:
Error[Pe020]: identifier dynamic_cast is undefined
三、MDK连接library,直接添加到文件夹即可;IAR则需要从工程中选项中设置。这应该不算什么问题,毕竟大多数IDE都是这么做的,但最让人很郁闷的是,IAR不能采用相对路径。比如../MUF/MUF.LIB在编译时,就会连接到别的目录,只能采用d:/MUF/MUF.lib绝对路径的形式。
四.MDK编译时,只有level的选择;IAM有debug和Release的快速选择
五.默认状态,MDK的工具栏功能比较多,有点繁杂;IAM的比较简洁,但相对,也比较单薄。
六.MDK的C++有std::这个命名空间;IAR下面的所有容器和算法,都不采用std命名空间
七.MDK默认只创建工程,工作区是不会直接创建。如果想多个工程聚合,则首先需要创建一个multi的工作区,然后再添加相应的工程。 IAR,默认是创建工程和工作区,如果想多个工程并存,直接添加即可。 相比之下,MDK创建工程的文件比较少,而IARM创建工程生成的文件比较多。
八.MDK的程序文件,最后必须要有一个新的空行,否则会有编译警告:
warning: #1-D: last line of file ends without a newline
如果主要是采用C,并且也不会有太多的library需要连接,MDK和IAR都能胜任。不过这种情形就比较推荐IAR,因为其非常简洁,上手也快,代码层次也能清晰明了。
如果主要是采用C++,并且用到很多特性,或是需要有多个工程进行协作,那么注定只能选择MDK,只不过这样就一定要每个文件最后加上新的空行了。











此帖出自单片机论坛

最新回复

谢谢分享   详情 回复 发表于 2021-5-24 10:45
点赞 关注(1)
 

回复
举报

661

帖子

0

TA的资源

纯净的硅(初级)

沙发
 

谢谢分享

此帖出自单片机论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表