本帖最后由 jlass 于 2013-6-14 09:06 编辑
要是你十年前问这个问题,答案一定是汇编。
但是随着C编译器的不断发展,C机翻汇编的效率已经相当高了。
我觉得对于新人来说,纯汇编已经没什么意义了,但是,这并不是说可以不懂汇编,汇编仍然是你必须掌握的技能。你应该用汇编的思想来写C语言。比如函数的结构化,数据存放4字节对齐等等,都可以提高C机翻汇编的效率。反之,不要使用什么循环嵌套之类的功能,机翻效率极差。
总之,你先用C写,在结构上融入汇编的思想(即可增加机翻的效率,也为以后的手动优化做准备),写完加载后没问题,你的工作就算完了。但是既然使用单片机,往往需要你发挥其90%以上的能力,这时候纯C可能会无法达到要求,需要你手动进行优化。这就是为什么让你在写C的时候融入汇编的思想了,你可以先使用C编译器把你的一些核心代码机翻成汇编的,然后对循环部分进行手动优化(非循环部分一般不用,因为效果不大,除非空间实在有限,那也只好一起优化掉),直至达到要求。
|