标签:嵌入式 高效编程 简洁
两年的工作经验心得总结一下:怎么做到嵌入式高效编程。
double circle_area(double r) { return 3.14 * r * r; } #define PI 3.1415926 #define float_t double float_t circle_area(float_t r) { return PI * r * r; }
#define point_reset(p) ((p % 4) < 2) ? (p / 4 * 4) : (p / 4 * 4 + 4) xxx = point_reset(xxx) yyy = point_reset(yyy)
pAudioBuf = malloc(一个稍复杂的计算表达式exp); … memcpy(pAudioBuf, src, 一个稍复杂的计算表达式exp); iAudioSize = 一个稍复杂的计算表达式exp; pAudioBuf = malloc(iAudioSize); … memcpy(pAudioBuf, src, iAudioSize);
Funxxx() { for (i = 0; i < 16; i++) {… } for (i = 0; I < 16; i++) { } } Funxxx() { iCnt = 16; for (i = 0; i < iCnt; i++) { } for (i = 0; I < iCnt; i++) { } }
例一 { … if (res) { return rs; } else { return 0; } } //修改 { … return res; }
例二 { … if (res) { return xxxx; } else { return 0; } } 修改 { … return res ? xxx : 0; }
例: { … if (0 == res) { return xxx1; } else if (1 = res) { return xxx2; } else if (2 = res) { return xxx3 } …. } 修改: { vals[] = {xxx1, xxx2, xxx3, …}; … return vals[res]; }
double double_add(double a, double b) { return a + b; } float float_add(float a, float b) { return a + b; } int int_add(int a, int b) { return a + b; } #define DECLARE_MATH_FUN(name, type, op) type type##_##name(type a, type b) { return (type)(a op b);} DECLARE_MATH_FUN(add, int, +); DECLARE_MATH_FUN(add, float, +); DECLARE_MATH_FUN(add, double, +); DECLARE_MATH_FUN(sub, int, -); DECLARE_MATH_FUN(sub, float, -); DECLARE_MATH_FUN(sub, double, -);
标签:嵌入式 高效编程 简洁
原文地址:http://blog.csdn.net/sin0803/article/details/37730473