嵌入式编程是否应该使用C ++而不是C? 1.前言2.介绍新的设计模式3. C ++是不断更新的语言4. C ++具有更丰富的功能5.摘要1.前言数十年来,嵌入式软件工程师一直在争论是否使用C ++代替C进行开发工作。根据IEEE和github在2019年进行的市场调查,微控制器制造商提供的大多数软件都是用C语言编写的。实际上,有56%的嵌入式软件是用C语言编写的。但是,C ++逐渐流行起来,大约23%的新嵌入式软件项目是用C ++编写的。自C语言发展以来已经有近50年的历史了。现在是从C语言过渡到C ++语言成为嵌入式开发主流语言的最佳机会。对于习惯于使用C语言进行开发的嵌入式程序员,对C ++语言会有一些误解和偏见。 (1)C ++执行效率低(2)C ++生成大型目标代码(3)C ++编程很麻烦(4)没有指针的概念,并且底层寄存器的操作非常复杂。我认为嵌入式工程师应该学习C ++语言开发。对于嵌入式程序,ARM的Mbed OS中也广泛使用了C ++编程语言。拒绝接受新事物,害怕推翻旧思想并站着不动,这是可怕的。嵌入式工程师从C到C ++的转换不仅需要一种新语言,还需要编程思维模型。就像刚开始从裸机学习嵌入式代码,然后慢慢学习RTOS或Linux一样。这不仅是接触新事物,而且是思维方式的改变。学习C ++时需要了解的是面向对象的思维方式和各种设计模式。所以在使用嵌入式开发的过程中,这些东西都是一种会被使用的。让我们从三个方面来谈谈在嵌入式开发中使用C ++编程的好处。 2.新设计模式的介绍C语言在一定程度上为开发人员提供了一系列封装函数,并且还提供了非常基本的多态函数。但是,C语言实际上是面向过程的语言,这使得编写和继承非常困难。这些将影响整体设计架构的稳定性。除非您是C语言的基础并且曾经做过许多项目的人,否则您可能会对C语言体系结构的设计有很好的了解。通用设计会使软件功能的重用和扩展变得极为复杂。 C ++为开发人员提供了真正的面向对象的设计模式。此抽象模块使程序的耦合性降低。由于采用了引脚设计模式,因此在项目工程移植中也非常方便,这使得软件具有更好的可重用性,从而可以加快产品开发速度,缩短开发周期并减少工作量。 3. C ++是一种不断更新的语言。在当今复杂的开发环境中,随着时代的发展,提出了越来越多的高级硬件解决方案,因此需要更好的软件和语言解决方案。意味着必须不断更新编程语言,并不断为开发人员提供最佳和最先进的工具。让我们看一下C / C ++版本的更改:C语言版本更改:C年标准别名1972年出生C--1978K& R C--1989-1990ISO / IEC 9899:1990C89C901995ISO / IEC 9899 / AMD1:1995AMD1C951999ISO / IEC 9899:1999C99-2011ISO / IEC 9899:2011C11-2018ISO / IEC 9899:2018C18-C ++语言版本更改:C年标准通用名称别名1978 --- 1998ISO / IEC 14882:1998C ++ 98-2003ISO / IEC 14882:2003C + + 03-2011ISO / IEC 14882:2011C ++ 11C ++ 0x2014ISO / IEC 14882:2014C ++ 14C ++ 1y2017ISO / IEC 14882:2017C ++ 17C ++ 1z2020-C ++ 20C ++ 2a C ++语言更新和C语言上的差异是C ++不仅修复了一些错误,而且更重要的是添加了一些新功能和工具。在更新频率方面,C ++更新大约每三年更新一次。这可以轻松地适应新的系统和硬件平台。 4. C ++具有更丰富的功能在嵌入式编程过程中,C ++具有比使用C语言更多的功能。当今的编译器对编程语言的优化非常友好。 C ++还支持C语言操作,因此从C到C ++的过渡也非常容易。它支持异常处理和错误捕获,这在嵌入式开发过程中非常高效。它支持虚函数,并支持动态类型转换,多重继承,多态等。尽管与C语言相比,它将增加一些资源,但是对于当前的嵌入式开发而言,再增加几个KB不再是问题。在嵌入式系统上使用C ++编程