在Linux内核.嵌入式代码等传统的C代码里,会有一些难以识别的宏定义.我记得在eCos, UBoot, FFmpeg有一些比较BT的宏定义,很难读懂.对于C++程序员来说,最好将这种难读的宏定义转成inline函数或模板函数.本章对这些较难的重定义进行汇总. 1. ; 在宏定义中指定义类型参数 1: #define FPOS_TO_VAR(fpos, typed, var) (var) = (typed)((fpos).__pos) 2: #define VAR_TO_FPOS(fpos, v…