14.11移植问题

当对源代码使用不同的编译器时,可能会出现一些移植上的问题,这时可以宏将一些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;

}

这样,在代码的移植过程中可以避免很多可能出现的问题。