打印

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

[复制链接]
7462|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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++也有他不好地方。。

使用特权

评论回复
5
philofly| | 2008-12-11 13:04 | 只看该作者

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

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

我们现在很多嵌入式软件都是基于c++开发的。

使用特权

评论回复
6
elenment| | 2008-12-11 14:31 | 只看该作者

效率啊 同志

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

c都比c++好很多啊  

使用特权

评论回复
7
bob.xue|  楼主 | 2008-12-11 15:09 | 只看该作者

菜鸟级的疑问,哈哈

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

但是在一些高端的产品,硬件性能提高,效率应该不是主要问题的 .android的手机不是用java来开发吗.

使用特权

评论回复
8
elenment| | 2008-12-11 15:23 | 只看该作者

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

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

你看看 n95那反应速度  人家可是ARM11啊 还是慢 慢 慢 

使用特权

评论回复
9
后学| | 2008-12-13 00:03 | 只看该作者

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

使用特权

评论回复
10
yangjian218| | 2009-1-9 22:25 | 只看该作者

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

使用特权

评论回复
11
thw| | 2009-1-10 21:26 | 只看该作者

。。。

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

使用特权

评论回复
12
wangkj| | 2009-1-11 08:57 | 只看该作者

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

c++早就在embeded系统中应用了。

使用特权

评论回复
13
yxwsz| | 2009-1-11 13:10 | 只看该作者

re

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

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

使用特权

评论回复
14
chunk| | 2009-1-12 11:23 | 只看该作者

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

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

请问这是LZ自己经多年嵌入式软件开发实践所总结出来的经验吗?

使用特权

评论回复
15
zeropower| | 2009-2-7 08:48 | 只看该作者

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

嵌入式开发本来就应该是积木式的写代码
C语言和C++语言根本就是只是两个不同的思维而已, C语言一样可以面向对象,只是少了构造和析构的自动完成机制而已

使用特权

评论回复
16
左仪| | 2009-2-20 08:43 | 只看该作者

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

C++和Java开发速度很快,但内存在用太大!不过现在的硬件很便宜,我也现在正使用C++开发。但是,BootLoader是最好适用汇编写的,这样效率会高些!

使用特权

评论回复
17
sodwell| | 2009-2-20 11:55 | 只看该作者

re

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

正如3楼所说的,当到那个时候,从c++肯定是必须的了,应用层C被淘汰!

使用特权

评论回复
18
dengcy028| | 2009-2-20 16:55 | 只看该作者

re

底层应该用汇编和c,程序执行效率高
应用层可以用

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

243

帖子

0

粉丝