当前位置:首页 > 单片机 > 单片机
[导读]单片机编程软件有很多,如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,只不过这样就一定要每个文件最后加上新的空行了。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭