[AVR单片机]

我是C++的爱好者,但反对单片机系统用C++

[复制链接]
楼主: 疯子8972
手机看帖
扫描二维码
随时随地手机跟帖
highgear| | 2010-8-19 21:52 | 显示全部楼层
低档单片机用不着 c++, 中档一般 c 就可以应付得很好, 高档 c++ 可以一显身手。

我认为在嵌入式中, c++ 最重要的特性是抽象, 这不是用class, struct 来封装数据那么简单, 而是基于系统的综合分析进行归纳; 另一个重要的特性就是这里被认为不重要的多态。如果用封装和继承来实现数据抽象, 那么行为接口的抽象可由多态(override) 完成。至于其他的如operator overload, template; 多重继承等等则可有可无, 运行时态对象的类型判断, 在pc下有很大的必要, 但对于嵌入式完全没有必要, 这也不是 c++ 的特性。

C++ 不仅仅是一个语言工具, 更重要的是为大型的嵌入式软件提供了一个可以构造更强大而灵活的架构的可能, 良好而灵活的架构对于日后的维护,扩充,升级必不可少。小型软件不行了可以推倒重来, 大型软件很难这么做。

如果想在单片机技术上再上一层楼, c++ 一定要掌握。 c++ 的很多思想可以用到中低档的 mcu 上。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
123jj + 1
HWM| | 2010-8-19 22:03 | 显示全部楼层
面向对象并不意味着复杂,而恰是相反。

有一种说法,采用C++会增加系统的负担,其实完全不是那么回事。如果你用class替代了struct已经是在C++的领域了。其实C++(严格来说是OOP)是一种看问题的角度,是一种境界。

使用特权

评论回复
疯子8972|  楼主 | 2010-8-19 22:22 | 显示全部楼层
并不是超集
顾名思义是超集
研究C++后发现与其说它是超集 不如算做另外一门语言

使用特权

评论回复
hotpower| | 2010-8-19 22:26 | 显示全部楼层
我在2006年调入了交换技术部,现在的vc软件是从dos平台移植过来的。
号称玩过n年数据库的人竟然不知ado属性一说。
在程序中居然调用只读属性Edit而无返回值。他的想法是允许编辑。
俺和他争论了半天无果…
也许他没玩过dephi吧,我们确实无共同语言。
俺玩过几乎所有的名门计算机语言,俺知道什么语言更能发挥自己的才能。

使用特权

评论回复
粉丝| | 2010-8-19 23:29 | 显示全部楼层
24楼只懂花钱花精力买笔,却不懂写作要领。样样学点皮毛,样样不精。

使用特权

评论回复
highgear| | 2010-8-19 23:35 | 显示全部楼层
属性 property 本来也不是 c, c++ 的属性。VB, C# 中引入了 property 的概念, 提供数据存取的方法。
ado 也本来不是为 vc 准备的, 如果 vc 下用, 最好的做法是把 ado 重新封装, 并且控件子类化, 实现如同 vb 下 binding 功能。

使用特权

评论回复
hotpower| | 2010-8-19 23:37 | 显示全部楼层
飞船没必要披着马甲乱咬!
亏你还配“技术人”???
可悲呀!
我们讨论C/C++与汇编何干?
晕,!

使用特权

评论回复
粉丝| | 2010-8-19 23:46 | 显示全部楼层
粉丝不咬你还咬谁?历史罪人,人人得而诛之!

使用特权

评论回复
hotpower| | 2010-8-20 01:21 | 显示全部楼层
人生在世,要么英名永存,要么遗臭百年。
粉丝这是在抬举俺,真不敢当呀!

使用特权

评论回复
IJK| | 2010-8-20 10:02 | 显示全部楼层
低档单片机用不着 c++, 中档一般 c 就可以应付得很好, 高档 c++ 可以一显身手。

我认为在嵌入式中, c++ 最重要的特性是抽象, 这不是用class, struct 来封装数据那么简单, 而是基于系统的综合分析进行归纳; 另 ...
highgear 发表于 2010-8-19 21:52


赞同。高档至少意味着32位单片机,且主频达到100M的水平。

使用特权

评论回复
123jj| | 2010-8-20 10:07 | 显示全部楼层
highgear老师说的好。

学习了。

使用特权

评论回复
疯子8972|  楼主 | 2010-8-20 10:48 | 显示全部楼层
招聘时很多学生都号称“精通C++”
估计连C++教程完整看过一遍且有所心得的人都是凤毛麟角
以前听一个趣闻   说为什么要发明C++
说因为美国当时C程序员过多    优秀的也是一抓一把
导致工资水平下降厉害
需要弄一门很难让人理解的高深的语言
使编程不再普通    所以C++产生了    哈哈
现状也是这样    真正能称为优秀的C++程序员的人远远少于优秀的C程序员

使用特权

评论回复
xjwbh| | 2010-8-20 12:18 | 显示全部楼层
其实我感觉这就跟教小学的老师一样,我认为读完初中就完全可以应付教小学的课程了,为什么还要多读几年的中师呢(那是我们当时的年代,现在我估计至少要大专了),反正多学点总是有好处的!我就后悔当年的matlab为什么没学好,高数为什么没搞明白!
不过要记住一个目标,做东西来是卖钱的!

使用特权

评论回复
mxh0506| | 2010-8-21 15:49 | 显示全部楼层
招聘时很多学生都号称“精通C++”
估计连C++教程完整看过一遍且有所心得的人都是凤毛麟角
以前听一个趣闻   说为什么要发明C++
说因为美国当时C程序员过多    优秀的也是一抓一把
导致工资水平下降厉害
需要弄一门很 ...
疯子8972 发表于 2010-8-20 10:48
33楼讲的“趣闻”应该是个笑话吧?C++对C的意义用电路来比喻不亚于IC比之于分立元件。

使用特权

评论回复
funfactory| | 2010-12-11 01:30 | 显示全部楼层
刚刚认真学习单片机没几天,通过逛论坛,泡图书馆,已经领略到了单片机的博大精深。单片机是小**???未免也太单纯了!!:D

使用特权

评论回复
john_lee| | 2010-12-11 11:39 | 显示全部楼层
这两个版主有意思,一个鼓吹C++,一个痛批C++,真不知你们是怎么凑到一起的啊?!

使用特权

评论回复
hotpower| | 2010-12-11 11:41 | 显示全部楼层
哈哈~~~俺用C++很低档,还是汇编的级别高~~~

使用特权

评论回复
老鱼探戈| | 2010-12-11 13:02 | 显示全部楼层
:D

使用特权

评论回复
mcuisp| | 2010-12-14 00:23 | 显示全部楼层
本帖最后由 mcuisp 于 2010-12-14 00:24 编辑

穿的内裤大了2个+的话,会是什么下场?

使用特权

评论回复
airwill| | 2010-12-15 07:24 | 显示全部楼层
我心目中的 C++ 应该比 C 加一个 @ 运算符.

哦, 循环移位运算

使用特权

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

本版积分规则