做嵌入式编程,为什么用的是C语言而不是C++呢?

1.前言

几十年来,嵌入式软件工程师们一直在争论是否应该使用C++替代C语言进行开发工作。根据2019年IEEE和github的市场调查显示,微控制器制造商提供的软件大部分都是由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++需要理解的是面向对象的思维方式,还有各种设计模式。从而在使用嵌入式开发的过程中,这些东西都是一

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: C是一种编程语言,而C语言是指一种使用C语言编写的计算机程序。在C语言中,你可以使用C语言编写代码,然后使用编译器将其编译成可执行文件。 举个例子,你可以使用C语言来编写一个计算器程序,然后使用C语言编译器将其编译成可执行文件,最后在计算机上运行该程序。 所以,C是一种编程语言,而C语言是使用C语言编写的计算机程序。 ### 回答2: C 和 C语言是两个不同的概念。 C 是指计算机科学领域的一种编程语言,它于1972年由Dennis Ritchie开发。C 是一种通用的、高级的编程语言,具有较高的性能和灵活性,可以用于开发各种类型的软件和系统,并被广泛应用于操作系统、编译器、嵌入式系统、游戏开发等领域。 C语言则是C的一种具体实现,它是使用C语言编写的软件和系统的集合。C 语言通过C语言编译器将源代码转换为机器可执行的指令,从而使得计算机能够理解和执行这些程序。C语言提供了丰富的语法规则和标准库函数,使得程序员可以方便地进行底层的内存管理、指针操作和硬件访问等任务。 换句话说,C 是一种编程语言的抽象概念,而 C语言是这种编程语言的具体实现。C语言是C 的一种方言,它符合 C 的语法规则,并具有C的特性和功能。 综上所述,C 和 C语言的区别在于层级和概念上的差异。C 是一种编程语言的概念,而 C语言是一个具体的实现,是使用C语言编写的软件和系统的集合。 ### 回答3: C是一种编程语言,而C语言是指常用的一种C编程语言。 C是一种通用的编程语言,最初由丹尼斯·里奇在20世纪70年代开发。它是一种高级编程语言,广泛应用于计算机科学领域。C语言是一种中级编程语言,是基于C语言开发的,由Brian Kernighan和Dennis Ritchie在20世纪70年代开发。 最主要的区别在于C语言是基于C开发出来的,它是通过扩展C的语法和功能而成为一种独立的编程语言C语言在C的基础上加入了一些新的特性和库函数,使编程更加方便和高效。 另一个区别是C语言具有更高的可移植性和跨平台性。由于C语言是一种中级编程语言,它可以被编译成机器代码,并在不同操作系统和硬件平台上运行。而C更接近底层,需要根据不同的操作系统和硬件进行适当的调整。 此外,C语言比C更易学易用。C语言相对于C来说更加简洁易懂,语法更加规范,容易上手。因此,C语言更适合初学者和那些希望快速开发软件的程序员。 总之,C语言是基于C发展起来的一种中级编程语言,相比C语言而言,它具有更高的可移植性、跨平台性和易用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值