[总结]嵌入式高效C编程要点

嵌入式高效C编程要点总结--适用于ARM相关的C语言编程

absolute8511于2008-10-08

1:尽量用其他运算代替除法操作。如:用X>Z*Y代替X/Y>Z比较。

2:合并除法和求余计算。如:a/b+a%b

3:用2的整数次幂作除数。

4:尽量使除数为常数。

5:关系操作最好转换成和0相关的。如:(x+y)>0,x!=0等

6:循环应减计数到0中止,并将i!=0作为中止条件,而不是i>0。

7:避免使用局部变量地址,如必须则应先把局部变量的值复制到另一个局部变量中。

8:多次对同一个指针的访问,应先将其值取出到一个临时变量中。

9:大量使用同一个全局变量时,应先将其拷贝到局部临时变量中,完成全部操作后再写回。

10:局部变量应尽可能使用32位类型。

11:变量定义应把所有相同类型的变量放在一起。

12:限制函数参数在4个以内,超过时,应将多个相关参数组织在一个结构体中,用传递结构体指针来代替多个参数。

13:使用_value_in_regs返回结构体。

例子:typedef struct {int hi; uint lo;}int64;

          _value_in_regs int64 add64(int64 x,int64 y) {int64 res; ....... return res;}

14:函数要先定义后调用。

15:如果函数参数相同则其结果也相同,那么可以将此函数声明为纯函数,加_pure声明。

你可能感兴趣的:(嵌入式)