使用宏定义
在 C 语言中,宏是产生内嵌代码的唯一方法。对于嵌入式系统而言,为了能达到性能
错误做法:
#define MIN(A,B) ( A <= B ? A : B )
正确做法:
(1)宏定义"像"函数;
(2)宏定义不是函数,因而需要括上所有"参数";
least = MIN(*p++, b);
将被替换为:
因而不要给宏定义传入有副作用的"参数"。
在 C 语言中,宏是产生内嵌代码的唯一方法。对于嵌入式系统而言,为了能达到性能
要求,宏是一种很好的代替函数的方法。
错误做法:
#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) )
发生的事情无法预料。因而不要给宏定义传入有副作用的"参数"。