十多年前,关于 C++ 何时最终超越 C 并成为占主导地位的嵌入式系统编程语言存在争议和预期。 直到今天c 游戏开发3D场景,C 仍然是主导语言。 鉴于微控制器硬件的进步,更重要的是,现在可用的工具链和优化,现在可能是使用 C++ 的时候了。 以下是嵌入式开发人员应开始考虑在嵌入式系统中使用 C++ 的几个原因。
原因 1 – 使用现代面向对象编程技术
C 编程语言是一种大约 50 年前发明的过程语言。 它是一门伟大的语言,但它缺乏现代编程语言所拥有的一切,例如
• 包裹
• 继承
• 多态性
C 开发人员有时可以模拟这些基本的面向对象功能,但这总是被迫的并且需要更多的努力。 现代语言自然地使用这些技术c 游戏开发,如果使用得当,它们可以提高代码的可读性、可重用性和可移植性。 在当今复杂的系统中,使用可以从一个应用程序到下一个应用程序重用的类和对象肯定会很好。
原因 2 – 对微控制器的编译器和工具链支持
在过去的几年里,微控制器领域对 C++ 的编译器和工具链支持一直是工具提供商关注的焦点。 检查一些商业和开源编译器,你很快就会发现编译器完全支持最新的C++标准。 检查这些编译器是否符合最新的 C 标准,您会很幸运地找到一个甚至支持某些最新功能的编译器。
除了编译器支持之外,微控制器制造商开始在自己的工具中包含挂钩,以便嵌入式开发人员可以轻松开发 C++ 应用程序。
原因 3 – 活跃的标准委员会
C++ 标准的更新比 C 标准要频繁得多,并且这些更新不一定只是改进 C++,而是更新功能并添加新特性,以跟上行业中正在发生的变化。 尽管存在 C 语言的所有问题、歧义和已知问题,但更改、更新和澄清都非常缓慢。
原因 4 – 性能和代码大小
在嵌入式系统中使用 C 还是 C++ 的争论中,最大的症结在于性能和代码大小。 开发人员总是抱怨 C++ 代码比 C 代码更大并且性能更差。 在当今的开发环境中,现代编译器及其优化器非常好。 此外,开发人员可能需要进行一些试验或将他们的 C++ 语言使用限制在性能得到保证的子集内,但老实说,无论如何我们都必须对 C 做同样的事情!
综上所述
C++ 为嵌入式开发人员提供了开始使用面向对象方法的机会,同时如有必要,还可以继续使用旧版 C 代码。 开始使用 C++ 的理由有很多,继续使用 C 的理由也有很多游戏评测,但不要感到惊讶,因为在接下来的几年里,越来越多的示例代码开始出现在 C++ 中。