为什么说学嵌入式开发一定要精通C而不是C++,该如何解决

为什么说学嵌入式开发一定要精通C而不是C++
很多人都说要精通C,却从没有提到过C++。
为什么啊?求过来人指点一下。

------解决方案--------------------
面向对象的代价很高的.

到了底层后更多的是使用控制逻辑,这个和过程密切相关,这非常适合用C来表达

而很底层的开发上,CPP很多的时候被当作是BETTER C在用,所以它的面向对象的特性并不能得到合理的发展,还不如不用

个人小见,大伙拍拍...
------解决方案--------------------
1> 从程序来看,大部分都是用c写的,如果你要接手或介入就要用c
所以这里有个程序的历史问题,包括写程序的人,好多不是c++科班出身。

2> 语言特性来说,c比c++更容易上手。一般嵌入式的程序都比较短小,一个或几个人分工就可以了
而且由于程序规模不大都比较好分工。所以用c在项目控制方面会方便点。如果是大规模,集团军 作战的话,用c++会好点,比较容易细分

2> 跟硬件以及嵌入式的应用有关,精打细算,追求效率,对于c比c++合适得多


------解决方案--------------------
如果编译器支持C99的话,我肯定就用那个C编译器。C99支持了CPP中的内联函数、而且还增加了诸多人性化的语法,非常不错。

至于C++么——我们开发时就是用C++开发的。
一般单片机肯定不用C++,如果是比较高级的嵌入式,如开发NGC、Wii等游戏机平台,那么STL都可以用。

------解决方案--------------------
楼上的几位说的的确很有道理,
1.是历史问题,因为以前的代码都是用C写的,维护起来大家也就用C了,写新代码的时候,要有一个参考,为了参考以前的代码,就用C来写了.
2.C的占的空间小,没有C++那么大的函数库.执行效率比较高.
------解决方案--------------------
C语言的指针功能都是非常强的,语言结构好.灵活.大部分硬件软件的开发也都是基于C的.软件C++的多.所以高编程的一定要学好这门语言拉!!!
------解决方案--------------------
嵌入式程序的关键代码需要汇编或者c这样的高效语言,比如中断服务程序,应用部分我觉得
效率倒不是特别关键。如果能够很好地划分对象形成有效的类,对于开发整个系列软件的沿用性都非常好,因为可继承性强。我就接触过一个视频编解码器的驱动,完全是C++的,整个一个编解码器是一个类,可读性和可继承性都很强,不过确实需要划分类的人很牛。
------解决方案--------------------
学嵌入式,语言只是工具,重要的是对系统的理解,建议去看看嵌入操作系统方面的知识,对于理解嵌入式很有帮助