您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术嵌入式SoC应用的C编程优化 正文
嵌入式SoC应用的C编程优化

嵌入式SoC应用的C编程优化

点击数:7373 次   录入时间:03-04 11:48:27   整理:http://www.55dianzi.com   嵌入式系统-技术

    for (i=0; i<100; i++)

    p[i] = ...

   



www.55dianzi.com

    13. 编写简单易懂的代码

    编译器擅长创建复杂的优化,比如函数嵌入和在适当的时候循环体展开。但编译器不擅长简化代码,他们不会合并循环或者不用函数嵌入。在源程序中为了支持某些处理器架构进行的手工的循环体展开会降低程序的可移植性,因为这阻止了编译器自动为其他的处理器架构进行正确的循环体展开和函数嵌入。

    14. 避免编写参数数量可变的函数

    如果一定要这么做,使用ANSI标准方法:stdarg.h.。使用数据表替代if-then-else或者switch分支处理。比如考虑下面代码:

    typedef enum { BLUE, GREEN, RED, NCOLORS } COLOR;

    替代

    switch (c) {

    case CASE0: x = 5; break;

    case CASE1: x = 10; break;

    case CASE2: x = 1; break;

    }

    使用

    statIC int MapPINg[NCOLORS] = { 5, 10, 1 };

    ...

    x = Mapping[c];

    15. 依靠libc函数库(比如:strcpy、strlen、strcmp、bcopy、bzero、MEMSet和mEMCpy)。这些函数是经过精心优化的。

    表1:一些XCC C/C++编译器优化开关
15.jpg

    本文小结

    编译器设计者已经开发了很多复杂的优化功能以使最新的处理器获得最大的性能,并且他们还在继续开发更智能的优化算法。应用程序开发人员可以通过使用恰当的编程规则来尽可能多地利用编译器的这些优化功能。



www.55dianzi.com    16.jpg

上一页  [1] [2] 


本文关键字:嵌入式  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术