请问下,做嵌入式开发,C和C++有什么区别。

zsp006 2007-06-04 08:16:02
前天我去面试了一家公司,他说是做嵌入式开发的。用的是C ,而我现在主要用C++。请问下,做嵌入式开发C和C++有区别吗,如果有区别那是什么区别呢。用C写的程序可否用C++写呢,如果能写出来,那么效果有什么不同呢。
...全文
6122 51 打赏 收藏 转发到动态 举报
写回复
用AI写文章
51 条回复
切换为时间正序
请发表友善的回复…
发表回复
王维 2011-08-21
  • 打赏
  • 举报
回复
学习!!!
tpstech 2010-10-04
  • 打赏
  • 举报
回复
主要是linux是C写的嘛,呵呵。下面的驱动和应用也是用C的。不过像QT,MINIGUI还是支持C++的,就是要看从事底层还是应用层的开发了。
kllmctrl 2010-10-03
  • 打赏
  • 举报
回复
楼主去看下“汇编”再看看c++,就知道c是个什么东西了。
jldream110 2010-10-03
  • 打赏
  • 举报
回复
在嵌入式里 有时候用c 都是应用层了 在往上层来说 做起来和嵌入式关系不大了
辰岡墨竹 2010-10-03
  • 打赏
  • 举报
回复
嵌入式系统资源有限,没有机会去实现复杂的类管理、继承什么的。cout内部隐含很多类型转换和流什么的,这些东西都很消耗资源,嵌入式开发中没有必要为了这些便利性浪费宝贵的系统资源。还有有些嵌入式设备没有合适的屏幕,用不用printf的库都难说,不用的库就尽量不连接编译,可以减少程序尺寸。
嵌入式开发尤其是OS移植的时候,必须用C和汇编混合,你想想,连内存分配函数都没弄好呢,还想实现类、STL什么的不是空中楼阁么?
BorrowedStory 2010-10-02
  • 打赏
  • 举报
回复
c语言某种程度上讲是c++的一个子集

c++
四部分 c stl oop template
herman~~ 2008-11-16
  • 打赏
  • 举报
回复
不懂嵌入式开发
来学习下

感觉应当针对不同的 编译器 来选择开发语言...
love514425 2008-11-16
  • 打赏
  • 举报
回复
都没正面回答LZ!
基于Linux的嵌入式用C++的机会很少很少!!! 主要是C跟汇编.
嵌入式用C++的地方,WinCE,Symbian相对来说比较多!
Donald_Duck 2008-11-16
  • 打赏
  • 举报
回复
up
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 Wolf0403 的回复:]
简单的说,嵌入式系统未必有 C++ 编译器给你。。
[/Quote]

恩,出去研究用外,一般开发商用产品的嵌入式环境,提供的编译器,很少有能对C++做出全面的支持的。


lcb813 2008-11-16
  • 打赏
  • 举报
回复
专家意见:这个问题没有C和C++哪个好的问题,由于嵌入式系统资源有限,包括主频,ROM(现在一般是Flash),RAM等等,这要求代码要尽量紧凑(简短只是第一个要求),执行效率高(速度是第二要求),占用的资源少(占用RAM少是第三个要求),兼容原有的程序(兼容性好是第4个要求),还要维护性好,易于升级等等,因此在系统功能较少时,一般芯片资源配置也比较低,这时几乎全部使用汇编语言;在系统较大时,工控和自控多采用C语言,通讯方面的开发(如手机),多采用Java,以利于维护和升级,也不容易出错,C++不是首选的原因是其编译后代码长度大,效率低,除非芯片资源可以任你浪费,或者不计成本。
因此,这里没有哪个语言好坏的问题,只是实用、成本、效率的综合因素决定的。
foochow 2008-11-16
  • 打赏
  • 举报
回复
主要看编译器对C++的支持程度和flash存储空间的大小。
btboyss 2008-11-16
  • 打赏
  • 举报
回复
C语言面向底层,对操作硬件比较方便~
zsp006 2007-06-05
  • 打赏
  • 举报
回复
知道了
点滴皆收获 2007-06-05
  • 打赏
  • 举报
回复
C可以看作是C++的一个子集,你熟悉C++的话,使用C语言应该没有什么问题。
至于对语言的要求是使用C还是C++,可能要根据具体项目的要求,有可能是硬件环境,运行效率,CodeSize,或者项目组编码要求等条件约束。
另外,嵌入式的OS如Linux不同于PC上的Linux,具体移植的状态如何,Kernel如何裁减的,需要根据具体的嵌入式平台来确定,不一定移植C++ Compiler或者支持完善。
huashizhixin 2007-06-05
  • 打赏
  • 举报
回复
开发效率和运行效率不和兼得哦!
嵌入式看你用什么系统,如果是wince的话,可以用evc,evb开发,其他嵌入式多用,汇编,c语言.
烂笔头Danky 2007-06-04
  • 打赏
  • 举报
回复
cout是一个流对象(在默认情况下它是一个指向了标准输出设备的对象),它不是输出函数,<<这个才是C++的输出运算符。
Wolf0403 2007-06-04
  • 打赏
  • 举报
回复
1、一切取决于项目要求,所以整个讨论缺乏意义。
2、g++ / libstdc++ 不是对每个嵌入式平台都可用,你要针对哪个平台做开发,就去检查对应平台是否有 g++ / libstdc++

空谈无益。
zsp006 2007-06-04
  • 打赏
  • 举报
回复
。。。。。。。。。。。。
pinejeely 2007-06-04
  • 打赏
  • 举报
回复
长见识,up
加载更多回复(30)

64,670

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧