嵌入式工程师为何不用学习C++语言?

难道只要学习C语言就足以使用了?是不是C++根本不是嵌入式上的东西?... 难道只要学习C语言就足以使用了?
是不是C++根本不是嵌入式上的东西?
展开
 我来答
TLast_Ghost
2014-02-13 · TA获得超过1542个赞
知道小有建树答主
回答量:649
采纳率:20%
帮助的人:526万
展开全部
一般嵌入式开发使用的芯片都比较小巧,不适合运行C++代码,不是说不能用,而是C++代码同样的程序实际是比C要多的。。。。C++是面向对象的,成员函数的工作原理和普通函数不太一样,他的成员变量寻址全是偏移地址+基址。。。也就是基地址加偏址,通过改变基地址,让函数操作不同对象,但偏地址都相同(这样相同的代码实现操作不同的对象成员变量),电脑的CPU是有支持基址加偏址的,在BX里存基地址,在SI里存偏址,一条指令就找到变量了。。。。而嵌入式芯片寻址要么立即数寻址,要么寄存器寻址,通常没有偏址+基址的方式,如果要实现只能软件去偏址+基址,运行更慢,何必那。。。
C++的面向对象,在继承类的同是也继承了很多累赘,对于C语言你不用的函数如果不调用,他就不会编译进程序,而类不同,就算你只用类中的一个成员函数,不幸的是所有成员函数也必须进程序,这对于电脑无所谓,但对于嵌入式有限的空间,很致命。。。还有一个重要原因是,嵌入式开发通常缺乏C++的类库,C++通常是在有丰富类库工具的情况下采用,比如
MFC,有大量的现成的库可用,从桌面绘图,声音控制,到网络传输,都有现成的类库可用。。。如果什么工具都没有,用C++意义就没多大,面向对象的前提也是要有足够多的对象,什么也没有,面向什么????
veket的小号
推荐于2017-11-29 · TA获得超过3371个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:4066万
展开全部
这个得看你要搞哪一类的嵌入式了
说明搞得东西不够高端大气上档次......(Arm+linux+驱动 的除外) 、

嵌入式工程师分好多种 有一种是 ARM+Linux+Qt+C++ 给Arm+Linux平台写 窗口应用软件 这就需要C++(这个算是嵌入式软件工程师)
(当然不一定是ARM构架的处理器的也可能是其他构架的处理器比如powpc处理器,操作系统也可能是其他的比如VxWorks)
有种嵌入式 是 某些高级的单片机/DSP 可以用C++ ,据说Silicon Labs的C8051F和DSP就支持用C++了
有种嵌入式的 用FPGA + Verilog\VHDL
最低端的就是单片机了....你确定 你老板不需要你写给单片机的“上位机”软件......当然不一定用C++、C#\VB.net\Delphi\LabView\LabWindowsCVI……都可以写上位机......
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大力金刚神1
2014-02-13 · TA获得超过1.4万个赞
知道小有建树答主
回答量:1410
采纳率:0%
帮助的人:1258万
展开全部
嵌入式程序设计语言要求可移植性高,C比C++可移植性好得多。像单片机程序设计大都用的C,或者汇编,不会使用C++。C++是面向对象的语言,适合设计应用程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式