嵌入式开发:使用C++而不是C的4个理由

更新时间: 2022-06-09 09:20:04来源: 粤嵌教育浏览量:9068

  十多年前,关于C++何时最终超越C并成为占主导地位的嵌入式系统编程语言,人们一直在争论和期待。直到今天,C仍然是主导语言。鉴于微控制器硬件的进步,更重要的是,工具链和现在可用的优化,现在可能是使用C++的时候了。以下是嵌入式开发人员应该开始考虑在其嵌入式系统中使用C++的几个原因。

  原因 1 – 使用现代面向对象的编程技术

  C编程语言是近50年前发明的一种过程语言,它是一门很棒的语言,但它缺乏现代编程语言所拥有的一切,例如

  • 封装

  • 继承

  • 多态性

  C开发人员有时可以模拟这些基本的面向对象的特性,但它总是被迫的并且需要更多的努力。现代语言自然会使用这些技术,如果使用得当,可以提高代码的可读性、重用性和可移植性。在当今复杂的系统中,使用可以从一个应用程序重用到下一个应用程序的类和对象肯定会很好。

  原因 2 – 微控制器的编译器和工具链支持

  在过去的几年里,微控制器领域的编译器和工具链对C++的支持一直是工具提供商的重点。检查一些商业和开源编译器,你会很快发现编译器完全支持最新的 C++标准。检查这些编译器是否符合最新的C标准,你会很幸运地找到一个甚至支持一些最新特性的编译器。

  除了编译器支持之外,微控制器制造商开始在他们自己的工具中包含挂钩,以便嵌入式开发人员能够轻松开发C++应用程序。

  

  原因 3 – 活跃的标准委员会

  C++ 标准的更新频率远高于C标准,这些更新不一定只是改进 C++,而是更新功能并添加新功能以跟上行业正在发生的变化。尽管C存在所有问题、歧义和已知问题,但更改、更新和澄清的速度非常缓慢。

  原因 4 – 性能和代码大小

  在嵌入式系统中应该使用C还是C++之间的旧争论中最大的症结在于性能和代码大小。开发人员总是抱怨C++代码比C代码更大,性能更差。在当今的开发环境中,现代编译器及其优化器非常好。而且,开发人员可能需要进行一些试验或将他们的C++语言使用限制为可以保证性能的子集,但老实说,无论如何我们都必须对C做同样的事情!

  结论

  C++为嵌入式开发人员提供了开始使用面向对象方法的机会,同时,如有必要,可以继续使用遗留的C代码。开始使用C++的原因有很多,继续使用C的理由也很多,但是在接下来的几年中,随着越来越多的示例代码开始出现在C++中,请不要感到惊讶。

免费预约试听课