单片机编程为什么不用C++?

好像学C就可以了,用的单片机用的编程软件只要有基础的C 的知识就可以了嘛?

学习单片机要有数字电路,模拟电路,计算机原理等课程作为基础的。学会C语言固然是好的。但是千万不要以为单片机的编程语言只是C语言。汇编语言非常重要,因为它是一中面向机器的语言,可以明确表明程序在芯片里如何运行的。只是计算机的根。等汇编语言搞懂以后,再考虑用C来写程序比较好。有时要用两种语言混合编程的。因为C语言的可移植性比较强。而汇编语言的代码效率最高。这样可以结合两种语言的优势编程。
至于你说单片机编程为什么不用C++?我想反问一句。即使你用C++写出来的程序,你能保证一定有编译器能编译它吗?其实吧,别说是单片机一般的系统软件都是用C语言写的程序,只有非常大型的程序,才有可能用C++.举个生活中的例子:如果你从家里到公司里去上班。一般的出行方式是:1.坐公车 2.骑车 3.自己开车 4.坐地铁 5.走过去。如果谁要跟你说坐直升飞机去上班怎么样?你只能说这个有点不太正常吧。要不这个人太有钱了。打苍蝇的话用苍蝇拍子就行了。如果用巡航导弹打的话,岂不成了笑话吗?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-02-04
其实是有的 不过很少很少..
至少 8052一族的 没见过吧..?!

一般都是用c的..
但是不能忽略汇编阿.
很多类似中断 bootloader 之类的都必须要汇编里内嵌c语言喔.
第2个回答  2010-02-04
c的编译效率是c++的几十倍,也就是说同样实现一个功能的c++代码编译后指令可能是c代码编译后指令的几十倍
单片机编程讲究的效率,用尽量少的指令实现多的功能,当然用c了,其实直接用汇编效率是最高的,但是汇编移植性不好,所以用c
不过用的最多的单片机编程是c与汇编共用
第3个回答  2010-02-04
C++编译器制作难度比C编译器大得多,而C++的功能对于单片机程序这种微型工程是没有实际意义的。

至于C++比C慢几十倍之类,您老帮我找个市面上有的这种C++编译器我来瞻仰一下... 都是编译执行,出于什么动机一个会比另一个慢啊。好吧,必须承认因为在对象方面C++语法可以给编译器更多的提示,所以对于同一个编译器有时候C++的编译结果运行效率会比C高那么一点点——当然这个显然完全解释不了C++比C慢几十倍。
第4个回答  2010-02-04
小的单片机,其存储器只有几十~几百字节,汇编就足以了,C语言都施展不开。

真奇怪,单片机编程 为什么 要 用C++ ?