当对源代码使用不同的编译器时,可能会出现一些移植上的问题,这时可以宏将一些ARM特有的关键字“打包”。例如:
#ifdef__arm
#defineINLINE__inline
#defineVALUE_IN_REGS__value_in_regs
#definePURE__pure
#else
#defineINLINE
#defineVALUE_IN_REGS
#definePURE
#endif
这样在使用是可以直接使用INLINE、VALUE_IN_REGS等关键字,例如,
INLINEintsquare(intx){
returnx*x;
}
这样,在代码的移植过程中可以避免很多可能出现的问题。