Welcome

首页 / 软件开发 / C语言 / C语言嵌入式系统编程修炼之性能优化篇

C语言嵌入式系统编程修炼之性能优化篇2010-04-30宋宝华相关文章:

1.使用宏定义

在C语言中,宏是产生内嵌代码的唯一方法。对于嵌入式系统而言,为了能达到性能要求,宏是一种很好的代替函数的方法。

写一个“标准”宏MIN ,这个宏输入两个参数并返回较小的一个:

错误做法:

#define MIN(A,B)( A <= B ? A : B )

正确做法:

#define MIN(A,B)((A)<= (B)? (A): (B))

对于宏,我们需要知道三点:

(1)宏定义“像”函数;

(2)宏定义不是函数,因而需要括上所有“参数”;

(3)宏定义可能产生副作用。

下面的代码:

least = MIN(*p++, b);

将被替换为:( (*p++)<= (b)?(*p++):(b))

发生的事情无法预料。

因而不要给宏定义传入有副作用的“参数”。