为何不用C++设计嵌入式系统

[复制链接]
 楼主| bob.xue 发表于 2008-12-10 22:18 | 显示全部楼层 |阅读模式
刚刚看elf文件格式的介绍,其实elf已经支持面向对象的构造函数和析构函数.
其中有段话:

"ELF文件格式中引入初始化段.init和结束段.fini(分别对应构造函数和析构函数)则主要是为了支持C++程序。"

当用面向对象来设计时,开发的难度和复杂性定会大大降低,可重用性也将极大提高,这更有利于标准化,减少重复开发.

另外,不知大家是否留意matlab也可以用于嵌入式系统设计,它可以生成代码.
如此预测,未来的嵌入式开发就如积木块了.

armecos 发表于 2008-12-10 22:54 | 显示全部楼层

倒,ecos核心就是用C++写的,

从根上来说,ecos就是面向对象的,当然你写应用层程序时不受影响,你愿意用C或用C++都可以。一般我都是用汇编、C、C++混合编程,充分利用各种语言的优势。《ecos增值包》里有C++应用程序范例。

上述文档可能不完整或已被更新,想获得该资料的最新最全版本,请访问:www.armecos.com

更多内容,详见:
我的培训中心
我的研发团队
我的技术顾问
    文件系统整体解决方案咨询套餐
    IP协议栈整体解决方案咨询套餐
    USB整体解决方案咨询套餐
    BootLoader整体解决方案咨询套餐
HWM 发表于 2008-12-11 08:47 | 显示全部楼层

到那天开发嵌入式应用系统离不开“库”时代,C++就是必须

db10 发表于 2008-12-11 12:33 | 显示全部楼层

...

 这没有什么稀奇的,我以前就用c++在嵌入式linux下开发过一个产品。但是c++也有他不好地方。。
philofly 发表于 2008-12-11 13:04 | 显示全部楼层

现在很多嵌入式产品就是用c++开发

c++的好处,开发效率高;
c++的坏处,内存占用,执行效率相对c语言开发的产品要差一些。

我们现在很多嵌入式软件都是基于c++开发的。
elenment 发表于 2008-12-11 14:31 | 显示全部楼层

效率啊 同志

无论是 语言本身 还有编译器 等等资源 

c都比c++好很多啊  
 楼主| bob.xue 发表于 2008-12-11 15:09 | 显示全部楼层

菜鸟级的疑问,哈哈

原来大虾们早就用c++了. 俺还停留在Asm,C也是刚刚复习 恶补~

但是在一些高端的产品,硬件性能提高,效率应该不是主要问题的 .android的手机不是用java来开发吗.
elenment 发表于 2008-12-11 15:23 | 显示全部楼层

呵呵 可以参考一下 编译后的汇编码

硬件接口越来越多 性能提升不大 
嵌入式系统的操作系统已经占用了很多资源 
还要用面向对象语言来考验 效率,就有点太执着与技术了

你看看 n95那反应速度  人家可是ARM11啊 还是慢 慢 慢 
后学 发表于 2008-12-13 00:03 | 显示全部楼层

很多嵌入式应用用C++和Java啊。。。

yangjian218 发表于 2009-1-9 22:25 | 显示全部楼层

底层肯定还是要用C的,应用层好像C++的比较多,效率问题

thw 发表于 2009-1-10 21:26 | 显示全部楼层

。。。

这种讨论就象月经一样,周期性的往出流
个人愚见
1、没有最好的,只有最合适的。我们可以一上电就把堆栈地址往片上SRAM一扔,直接跳C++。有人这样做吗。呵呵
2、个人认为,开发语言只有对应用层的代码意义才比较明显。而对于嵌入式系统,应用层占的比重不象通用系统那么大。
3、越强大的武器发给糟糕的操作者坡坏性就越大。嵌入式系统往往注重效率,对于高级语言,如果处理的不好,一个函数或一个流程可以把整个系统的效能谋杀掉。
wangkj 发表于 2009-1-11 08:57 | 显示全部楼层

lz太菜鸟了吧,啥也不懂就胡咧咧。

c++早就在embeded系统中应用了。
yxwsz 发表于 2009-1-11 13:10 | 显示全部楼层

re

最常见的比如qt/embedded,早就是C++在写了;
还有ecos,也是用了cpp的;

至于用cpp来写是否一定好,那就要看写代码人的水准了;

chunk 发表于 2009-1-12 11:23 | 显示全部楼层

“当用面向对象来设计时,

当用面向对象来设计时,开发的难度和复杂性定会大大降低,可重用性也将极大提高,这更有利于标准化,减少重复开发.”

请问这是LZ自己经多年嵌入式软件开发实践所总结出来的经验吗?
zeropower 发表于 2009-2-7 08:48 | 显示全部楼层

C语言和C++语言根本就是只是两个不同的思维而已

嵌入式开发本来就应该是积木式的写代码
C语言和C++语言根本就是只是两个不同的思维而已, C语言一样可以面向对象,只是少了构造和析构的自动完成机制而已
左仪 发表于 2009-2-20 08:43 | 显示全部楼层

C++和Java开发速度很快,但内存在用太大!

C++和Java开发速度很快,但内存在用太大!不过现在的硬件很便宜,我也现在正使用C++开发。但是,BootLoader是最好适用汇编写的,这样效率会高些!
sodwell 发表于 2009-2-20 11:55 | 显示全部楼层

re

嵌入式系统的应用层开发用C++,是非常适合的!
代码重复利用,多人协作开发,非常方便!

正如3楼所说的,当到那个时候,从c++肯定是必须的了,应用层C被淘汰!
dengcy028 发表于 2009-2-20 16:55 | 显示全部楼层

re

底层应该用汇编和c,程序执行效率高
应用层可以用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

243

帖子

0

粉丝
快速回复 返回顶部 返回列表