前几天看网上新闻,有人建议把编程纳入高考,且不论是否靠谱,却至少说明一件事:会写点程序不再有什么可炫耀的,将来更有可能成为全民普及技能。其实即使现在,很多人写程序的兴奋感还没消退,就悲哀地发现自己程序写得蹩脚,反倒成为了周围人的笑料。
一群搞技术的人在一起,能脱颖而出的往往不是代码写得快的那个,而是对技术理解深且能在关键时刻分析解决问题的。掌握一些C语言优化知识,能增强这方面的气场和底气,从而尽快从受气的小媳妇进化成有资格对别人的程序指手划脚的婆婆。
有人总结程序开发三步曲“Make it run , make it right , make it fast”。先能跑,其次正确,最后要跑得快。嵌入式系统资源相对受限,编程水平的差异体现得更明显。功能相似的嵌入式软件,不同的优化水平常常直接决定最终成败。所以嵌入式开发中掌握基本的代码优化技巧很有必要。
优化是相对高级的领域,分很多层次,比如改进算法、逻辑层优化;C语言实现级的优化;针对特定硬件平台的汇编及专门指令优化等。这里介绍语言级的优化,主要为加深对C的理解。
另外优化时要保持头脑清醒,提高优化的性价比:
a. 过早进行语法级优化是浪费。
b. 优化要抓大放小,以结果而不是个人兴趣为导向。
c. 达到优化目标要马上抽身退出,不能过于沉迷。
d. 优化不能作为代码可读性差的借口,可读性是基础。