为何要使用C而不是汇编开发AVR?

 我来答
你猜4531
2013-11-02 · TA获得超过222个赞
知道答主
回答量:132
采纳率:50%
帮助的人:61.7万
展开全部
好些年之前,我为自己写了几万行汇编代码而骄傲. 然而,做过多年软件开发的我,看到以前写的汇编代码也是很多不懂的,这可是自己亲手写的呀.汇编代码由于其可读性比较差,给后期的维护造成很大的困难.因此建议单片机的学习者们一定要学习C. 首先说说C的优点. 1、直观,可读性强:这点很重要.对于一个产品,周期是很长的,即使出第一台产品之后,还有很长的维护时间.这中间维护人员可能经常变动,如果可读性强,将给维护工作省下很大的成本.即使是在开发,可读性强的程序也便于查错. 2、模块化可以做的很好:这点也是很重要的.模块化做得好,当然程序得重用性就高.对于公司来说,这一点是关系到公司长远发展的.程序可以重用,说明下一次开发的投入就可以减少,时间也可以加快,多好的事呀. 还有很多有点,当然也就是高级语言相对于汇编语言的优点,这里就不一一列举了. 再来看看汇编的优点:应该来说,汇编语言操作硬件直观,对于硬件非常熟悉的人来说,直接操作很方便.另外可能就是很多人说的效率要高了. 针对以上两点我来说说,首先“汇编语言操作硬件直观”,这是在代码编写阶段,对于整个产品周期来说,应该是要避免使用汇编语言的,这个在C语言的优点中已经说明.对于第二点,效率问题,目前C语言的编译器优化也做的很好,对于一个汇编不是很熟练的来说,C编出来的程序应该不会效率比汇编低.当然这样就对开发人员的要求降低了很多,人员的限制也就没有那么严格.另外是否真的是效率问题呢.我觉得应该是一个整体效率和局部效率的均衡问题.需要提高的是整体的效率.一个好的软件架构,远远比一个好的函数效率要高的多.因此主要的精力应该放在软件的架构上.另外现在CPU的速度不停的往上提,CPU越来越快,这点应该也可以弥补程序的效率吧.当然,我的意思不是不学习汇编.汇编对于熟悉硬件有很大的好处,应此汇编语言在学习初期一定是要学习的.在基本的硬件熟悉之后,就可以转向C了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式