大家讨论下,为什么嵌入式里面现在基本上都是C语言呢

winner8080 2010-06-15 01:22:34
连C++都非常少,更不用说什么visual 某某语言了。


我当初的理解是C语言需要的内存小,嵌入式的处理器不高导致使用C++和JAVa不现实,C++构造析构的需要不少资源,JAVA还需要安装虚拟机,
现在的嵌入式设备好像满足不了他们。

那么随着电子技术的发展,比如在手机上,现在RAM也可以做的很大了。也能装java虚拟机了。

是不是在近几年其他语言会抢占C语言在这一领域的霸主地位呢。

请大家说说看。
...全文
778 45 打赏 收藏 转发到动态 举报
写回复
用AI写文章
45 条回复
切换为时间正序
请发表友善的回复…
发表回复
gavernself 2011-07-20
  • 打赏
  • 举报
回复
都知道用C语言比较多,那为什么现在智能手机都是支持java软件的,而没有听说哪个智能手机上安装C语言开发的软件。
winner8080 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 43 楼 zxhandyou 的回复:]
嵌入式开发,现在的确c语言占了主流,而c++却无法替代它,主要原因在于:
(1)人员的问题。目前做嵌入式开发的很多人都熟悉C。但对于c++,熟悉它的人就没有c那么多了。公司选择开发语言的时候,当然就选择c了。有那个公司会愿意大家活都不干了,集中去学习c++去?
(2)交叉编译器支持的问题。嵌入式往往跟硬件平台依赖大,比如cpu上,arm、mips等等,公司使用的编译工具往往支持c比支持c++要……
[/Quote]

支持楼上的.
在C里同样可以实现C++中的类,用struct即可.成员函数用函数指针来实现.我们现在的代码就这么做的.
zxhandyou 2010-06-27
  • 打赏
  • 举报
回复
嵌入式开发,现在的确c语言占了主流,而c++却无法替代它,主要原因在于:
(1)人员的问题。目前做嵌入式开发的很多人都熟悉C。但对于c++,熟悉它的人就没有c那么多了。公司选择开发语言的时候,当然就选择c了。有那个公司会愿意大家活都不干了,集中去学习c++去?
(2)交叉编译器支持的问题。嵌入式往往跟硬件平台依赖大,比如cpu上,arm、mips等等,公司使用的编译工具往往支持c比支持c++要好,当然也倾向用c了。

另外,以下几个问题,也是促使c++能继续存活:
(1)大家都说c++好,是面向对象的,什么oo思想说的一溜一溜的。那么,请问OO思想和c抑或是c++有什么关系吗? 没有!!! 用C并不妨碍面向对象分析与建模。
(2)现在嵌入式的大多数应用也比较封闭,且远没桌面应用复杂。所以在合理的分析与架构后,足以保障公司嵌入式开发。用什么语言倒是其次。

现在在嵌入式领域有种趋势,是c,c++混合编程的兴起。主要也是考虑到c++的特性对OO思想表达的比较好。混合的界限在哪,因公司公司而异。比如以驱动层接口为界限。但总的来说c++应用是远不及c广泛的
zyl1988 2010-06-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zjf30366 的回复:]
应该是效率,空间,可移植性吧。
[/Quote]

赞同
hubuzw 2010-06-19
  • 打赏
  • 举报
回复
也许在PC上感觉不到,但想一想智能手机,有时候打开一个程序都要好一会儿,这时你就明白效率在嵌入式系统中是多么重要了;另外底层实现如操作系统(linux是基于c),驱动程序都要靠C
jackyjkchen 2010-06-18
  • 打赏
  • 举报
回复
不见得都是C,C++也不少,至少windows mobile和Symbian开发用的主要就是C++
taodm 2010-06-18
  • 打赏
  • 举报
回复
手机cpu都1.2G主频了,还双核。
iamliadai 2010-06-18
  • 打赏
  • 举报
回复
放心吧,以后pc的一切都会复制到 手机上的。现在手机的处理能力越来越大
hige521 2010-06-18
  • 打赏
  • 举报
回复
俺认为主要是效率和可移植性。
winner8080 2010-06-18
  • 打赏
  • 举报
回复
[Quote=引用 38 楼 zhao4zhong1 的回复:]
我的人缘看来比我原以为的差啊
怎么就没人挺身而出帮我断帖呢http://topic.csdn.net/u/20100618/09/62149acb-6112-4b95-9864-4af516c7be94.html
[/Quote]

我去断帖.
啥叫断帖,就是顶一下吧.
caozr 2010-06-18
  • 打赏
  • 举报
回复
效率跟不上C
winner8080 2010-06-18
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 iamliadai 的回复:]
android app开发用 java,framework 层全是 c++,。wince的驱动程序 80%都是c++写的,20%最底层的用c写,不过这些都很稳固了,基本不用改。
[/Quote]

是啊.
但是我觉得android用java不太明智.
在手机行业,大家都用的C,
现在他们一定要用java,如果他们招有行业工作经验的工程师,基本上没有.

不要说语言都是相通的,用了这么多年C,不敢说精通,但是绝对敢说熟悉,
突然让你去用java,别的不说,感情上我还割舍不下呢.
winner8080 2010-06-18
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 yashuwa0622 的回复:]
最重要的一点,C的强大指针功能,能够直接访问物理层,这个对于嵌入式开发是很重要的
[/Quote]

用C访问物理层,
能举个例子说明一下吗
iamliadai 2010-06-18
  • 打赏
  • 举报
回复
android app开发用 java,framework 层全是 c++,。wince的驱动程序 80%都是c++写的,20%最底层的用c写,不过这些都很稳固了,基本不用改。
lida2003 2010-06-18
  • 打赏
  • 举报
回复
C/C++实际两者嵌入式都是用到的。目前编译都支持了这种特性。不过个人感觉还是C的使用比较适合嵌入式开发。
DreamMan81 2010-06-18
  • 打赏
  • 举报
回复
路过,up!!!!
tang21814 2010-06-18
  • 打赏
  • 举报
回复
感觉是底层和效率的原因吧
能用C++也是因为C++也能直接操作底层地址什么的吧
然后效率又没有C高
新手拙见
赵4老师 2010-06-18
  • 打赏
  • 举报
回复
我的人缘看来比我原以为的差啊
怎么就没人挺身而出帮我断帖呢http://topic.csdn.net/u/20100618/09/62149acb-6112-4b95-9864-4af516c7be94.html
yzcurry 2010-06-18
  • 打赏
  • 举报
回复
效率,效率,还是效率
赵4老师 2010-06-18
  • 打赏
  • 举报
回复
[Quote=引用 35 楼 winner8080 的回复:]
引用 34 楼 zhao4zhong1 的回复:
因为除了汇编就C好用


楼上大哥,能说说怎么好用吗
我一直想得到这个答_案,今天终于遇到你了.
[/Quote]
比如
·想嵌入汇编就嵌入汇编
·想读写端口就读写端口
·想写个中断服务程序就写个中断服务程序
·想用个位域就用
·想通过地址访问数据就用指针
·想让某个变量实际上占用某个CPU的寄存器就占用
·……

另请谁帮忙断此帖http://topic.csdn.net/u/20100618/09/62149acb-6112-4b95-9864-4af516c7be94.html
加载更多回复(25)

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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