易截截图软件、单文件、免安装、纯绿色、仅160KB

嵌入式开发中C程序优化浅析

嵌入式系统由于受功耗、成本和体积等因素的制约,嵌入式微处理器的处理能力与桌面系统处理器相比也存在较大差距,故嵌入式系统对程序运行的空间和时间要求更为苛刻。    
通常,需要对嵌入式应用程序进行性能优化,以满足嵌入式应用的性能需求。
   
1 嵌入式程序优化的类型
     
嵌入式应用程序优化,指在不改变程序功能的情况下,通过修改原来程序的算法、结构,并利用软件开发工具对程序进行改进,使修改后的程序运行速度更高或代码尺寸更小。
   
按照优化的侧重点不同,程序优化可分为运行速度优化和代码尺寸优化。运行速度优化是指在充分掌握软硬件特性的基础上,通过应用程序结构调整等手段来缩短完成指定任务所需的运行时间;代码尺寸优化则是指应用程序在能够正确实现所需功能的前提下,尽可能减小程序的代码量。实际应用中,这两者往往是相互矛盾的,为了提高程序运行速度,就要以增加代码量为代价;而为了减小程序代码尺寸,可能又要以降低程序运行速度为代价。因此,在对程序进行优化之前,应根据实际需要来制定具体的优化策略。随着计算机和微电子技术的不断发展,存储空间已不再是制约嵌入式系统的主要因素,因此本文主要讨论运行速度优化。
   
2 嵌入式程序优化遵循的原则
     
嵌入式程序优化主要遵循以下3个原则。
     
①等效原则:优化前后程序实现的功能一致。
   
②有效原则:优化后要比优化前运行速度快或占用存储空间小,或二者兼有。
 
③经济原则:优化程序要付出较小的代价,取得较好的结果。
   
3 嵌入式程序优化的主要方面
 
嵌入式程序的优化分为3个方面:算法和数据结构优化、编译优化以及代码优化。
   
3.1 算法和数据结构优化
     
算法和数据结构是程序设计的核心所在,算法的好坏在很大程度上决定了程序的优劣。为了实现某种功能,通常可以采用多种算法,不同算法的复杂度和效率差别很大。选择一种高效的算法或对算法进行优化,可以使应用程序获得更高的优化性能。例如:在数据搜索时,二分查找法要比顺序查找法快。递归程序需要大量的过程调用,并在堆栈中保存所有返回过程的局部变量,时间效率和空间效率都非常低;若根据实际


相关文档:

在windows下通过VC6.0第一次用C调用SQLite

1. 下载SQLitewindows版
我们可以从下列网站下载sqlite的windows版。
http://www.sqlite.com.cn/bbs/topicdisp.asp?tid=182&topage=1#gotolast
下载这个三个文件:
SQLite 3.3.7 下载
windows版
sqlite-3_3_7.zip      这个是SQLite的windows可执行文件
sqlitedll-3_3_7.zip 这个 ......

[C]C语言基础巩固专题 链表之(链表反转)

 链表是c语言中很重要的数据结构,是考察一个程序员的基本功的手段,之前在一家公司面试时就问到了
实现一个链表的反转,当时就是没有很好冷静的思考,今天在这里写出来,共勉!
 基本算法:
       1. 判断是否为空,如果为空,返回NULL
       ......

[C]C语言基础巩固专题 链表之(链表创建和删除)

 链表中有两个关键的操作:创建和删除。今天我就对这两个操作进行介绍,
从这两个操作中学习到链表的基本用法。
1. Create
   Create() 是一个链表基础,只有建立好链表才能对它进行相应的查找,删除 等。
  基本算法:
  1.初始化
     head=NULL;
   ......

Linux C notes (BOOK UNIX)

Chapter 1: Thread
① thread functions
1. pthread_self();
2. thread existing
    you can get the value of rval_ptr just by  pthread_join(pthread_t tht, void ** rval_ptr)
    cancel a thread as the thread exits with PTHREAD_CANCELED in pthread_exit, this functio ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号