全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版

从C过渡到C ++的3个理由

[复制链接]
2387 1

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
几十年来,嵌入式软件工程师之间一直在争论他们应该使用C还是C ++。根据2020年嵌入式市场调查,在大多数情况下,微控制器制造商提供的软件都以C语言提供,实际上,有56%的嵌入式软件是用C语言编写的。但是,C ++逐渐流行起来,大约23%的新嵌入式软件项目是用C ++编写的。用C接近其50 个周年,它可能是时间开始转换从C到C ++。这是开发人员应考虑进行更改的三个原因。
QQ截图20190318163157.png

原因1:改进的架构实施

C编程语言确实通过函数指针为开发人员提供了封装和一些基本的多态性功能。但是,C确实是一种过程语言,并且无需付出额外的努力就不会提供诸如继承或组合之类的机制。这会使系统的整体体系结构设计不太理想,从而影响软件的重用和维护方式,甚至限制其灵活性。



C ++为开发人员提供了实现真正的面向对象设计模式,开发真正的抽象以及实现设计模式的能力,这些设计模式不仅可以在一个应用程序中重复使用,而且可以提高体系结构的灵活性。这允许软件被重用,进而可以带来更快的产品开发,更短的客户应用定制时间以及许多其他优点。

原因2:C ++是一种不断发展的现代语言

在当今复杂而创新的开发环境中,开发人员不仅需要尖端的硬件解决方案,还需要尖端的软件和语言解决方案。这意味着用于编写软件的语言必须是最新的,以便为开发人员提供实施其系统所需的最新工具。C语言的最后一次更新是在2018年,听起来好像最近已经更新了。但是,如果您查看该标准,则不会添加任何新功能,唯一的更改就是要修复2011年以前的发行版中的问题!是的,花了七年的时间才制定出修订的标准,以解决最后一个标准中的问题!

纵观C ++,标准委员会致力于每三年更新一次标准!下一个修订版预计于今年2020年发布,最新版本将于2017年发布。与C语言不同,新修订版不仅是错误修复,还为该语言添加了新的特性和功能,从而使它可以是最新的并提供与其他语言(例如Python)竞争所必需的工具。新标准甚至删除了不推荐使用的功能,例如三字母组合。

原因3:C ++是一种更丰富的语言

我为微控制器编写的大多数嵌入式软件直到3-4年前都使用C编程语言。C ++始终提供比C更丰富的功能集,但是大约在那时,编译器已经达到了已编译代码等效或更好的地步。那是我开始学习C ++的时候,发现该语言变得多么丰富,以及让我学习该语言的更多知识。

C ++允许开发人员利用以下功能:

模板–允许独立于任何特定类型编写代码

动态多态性–允许在运行时分配实现

异常处理–捕获错误(任何C开发人员都震惊)

编译时静态if语句

虚拟功能

这些只是几个例子,还有更多!所有这些工具使对嵌入式系统的编程变得更加容易。

结论

C ++是一种现代且不断发展的语言,其中C似乎是静态的,并且发展缓慢。实际上,在编程语言迅速发展的时代,C正在成为众所周知的恐龙。随着开发人员面临着系统内日益增加的复杂性,他们需要一种语言,以使其具有灵活性并最大限度地提高重用性。过去的许多抱怨不再适用于C ++,特别是考虑到C ++编译器已经变得多么高效。如果曾经有时间开始过渡到C ++,那就很可能了。

举报

回复
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

打开支付宝扫一扫,最高立得1212元红包
搜索

图文热点

更多

社区学堂

更多

客服中心

QQ:187196467 服务时间:周一至周日 8:30-20:30

关注我们

关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
快速回复 返回顶部 返回列表